Автор работы: Пользователь скрыл имя, 09 Июня 2013 в 12:14, курсовая работа
Теория вероятностей является одним из классических разделов математики. Вероятностные и статистические методы в настоящее время глубоко проникли в приложения. Они используются в физике, технике, экономке, биологии и медицине. Особенно возросла их роль в связи с развитием вычислительной техники.
Введение…………………………………………………………………..5
1.Обработка одномерной случайной выборки…………………………..6
1.1. Нахождение точечных оценок для не сгруппированной выборки…………………………………………………………………….6
1.2. Нахождение точечных оценок для сгруппированной выборки…………………………………………………………………....7
1.3. Построения гистограммы функций распределения……………............................................................................9
1.4. Расчёт критерия Пирсона…………………………………...15
1.5. Расчёт критерия Колмогорова……………………………...17
2. Обработка двумерной случайной выборки………………………….17
2.1. Построение поля рассеивания, гипотеза о виде корреляционной зависимости……………………………………….…18
2.2. Построение корреляционной таблицы……………………..22
2.3.Расчёт коэффициентов уравнения прямой регрессии……….23
2.4. Нахождение выборочного коэффициента корреляции….….25
2.5.Расчёт коэффициентов уравнения криволинейной регрессии…………………………………………………………………27
2.6. Нахождение корреляционного отношения…………………28
2.7.Расчёт критерия Фишера……………………………………...29
Заключение……………………………………………………………….31
Литература………………………………………………………………..
row.Cells.AddRange(Cell0, Cell1, Cell2, Cell3, Cell4, Cell5);
dataGridView1.Rows.Add(row);
DataGridViewRow row1 = new DataGridViewRow();
DataGridViewCell Cell0a = new DataGridViewTextBoxCell(); Cell0a.Value = "Cгруппированная";
DataGridViewCell Cell1a = new DataGridViewTextBoxCell(); Cell1a.Value = Convert.ToString(Pr[0]);
DataGridViewCell Cell2a = new DataGridViewTextBoxCell(); Cell2a.Value = Convert.ToString(Pr[1]);
DataGridViewCell Cell3a = new DataGridViewTextBoxCell(); Cell3a.Value = Convert.ToString(Pr[2]);
DataGridViewCell Cell4a = new DataGridViewTextBoxCell(); Cell4a.Value = Convert.ToString(Pr[3]);
DataGridViewCell Cell5a = new DataGridViewTextBoxCell(); Cell5a.Value = Convert.ToString(Pr[4]);
row1.Cells.AddRange(Cell0a, Cell1a, Cell2a, Cell3a, Cell4a, Cell5a);
dataGridView1.Rows.Add(row1);
DataGridViewRow row2 = new DataGridViewRow();
DataGridViewCell Cell0b = new DataGridViewTextBoxCell(); Cell0b.Value = "Погрешность";
DataGridViewCell Cell1b = new DataGridViewTextBoxCell(); Cell1b.Value = Convert.ToString(pogr[0]);
DataGridViewCell Cell2b = new DataGridViewTextBoxCell(); Cell2b.Value = Convert.ToString(pogr[1]);
DataGridViewCell Cell3b = new DataGridViewTextBoxCell(); Cell3b.Value = Convert.ToString(pogr[2]);
DataGridViewCell Cell4b = new DataGridViewTextBoxCell(); Cell4b.Value = Convert.ToString(pogr[3]);
DataGridViewCell Cell5b = new DataGridViewTextBoxCell(); Cell5b.Value = Convert.ToString(pogr[4]);
row2.Cells.AddRange(Cell0b, Cell1b, Cell2b, Cell3b, Cell4b, Cell5b);
dataGridView1.Rows.Add(row2);
}
}
}
Form6.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace kurs
{
public partial class Form6 : Form
{
int k1;
int k2;
double h1;
double h2;
public void table(double[] X, double[] Y, int kol1, int kol2, out double xmin2, out double xmax2)
{
int i, j, l, sum=0;
double xmin1, xmax1, h, hh;
for (i = 0, xmin1 = X[0], xmax1 = X[0]; i < kol1; i++)
{
if (xmin1 > X[i])
xmin1 = X[i];
if (xmax1 < X[i])
xmax1 = X[i];
}
for (i = 0, xmin2 = Y[0], xmax2 = Y[0]; i < kol2; i++)
{
if (xmin2 > Y[i])
xmin2 = Y[i];
if (xmax2 < Y[i])
xmax2 = Y[i];
}
k1 = Convert.ToInt32(1
+ 3.32 * Math.Log10(Convert.ToDouble(
k2 = Convert.ToInt32(1
+ 3.32 * Math.Log10(Convert.ToDouble(
h1 = (xmax1 - xmin1) / k1;
h2 = (xmax2 - xmin2) / k2;
int[,] Mas = new int[k1, k2];
int[] Sum = new int[k1];
for (i = 0; i < k1; i++)
{
for (j = 0; j < k2; j++)
Mas[i, j] = 0;
Sum[i] = 0;
}
for (l = 0; l < kol1; l++)
for (i = 0, h = xmin1; i < k1; i++, h += h1)
if (X[l] <= (h + h1) && X[l] >= h-0.0001)
for (j = 0, hh = xmin2; j < k2; j++, hh += h2)
if (Y[l] <= (hh + h2) && Y[l] >= hh)
Mas[i, j]++;
h=xmin1;
DataGridViewTextBoxColumn Column0 =new DataGridViewTextBoxColumn();
Column0.HeaderText = "y/x";
DataGridViewTextBoxColumn Column1 =new DataGridViewTextBoxColumn();
Column1.HeaderText = Convert.ToString(h) + "-" + Convert.ToString(h + h1); h += h1;
DataGridViewTextBoxColumn Column2 =new DataGridViewTextBoxColumn();
Column2.HeaderText = Convert.ToString(h) + "-" + Convert.ToString(h + h1); h += h1;
DataGridViewTextBoxColumn Column3 =new DataGridViewTextBoxColumn();
Column3.HeaderText = Convert.ToString(h) + "-" + Convert.ToString(h + h1); h += h1;
DataGridViewTextBoxColumn Column4 =new DataGridViewTextBoxColumn();
Column4.HeaderText = Convert.ToString(h) + "-" + Convert.ToString(h + h1); h += h1;
DataGridViewTextBoxColumn Column5 =new DataGridViewTextBoxColumn();
Column5.HeaderText = Convert.ToString(h) + "-" + Convert.ToString(h + h1); h += h1;
DataGridViewTextBoxColumn Column6 =new DataGridViewTextBoxColumn();
Column6.HeaderText = Convert.ToString(h) + "-" + Convert.ToString(h + h1); h += h1;
DataGridViewTextBoxColumn Column7 =new DataGridViewTextBoxColumn();
Column7.HeaderText = Convert.ToString(h) + "-" + Convert.ToString(h + h1); h += h1;
DataGridViewTextBoxColumn Column8 = new DataGridViewTextBoxColumn();
Column8.HeaderText = Convert.ToString(h) + "-" + Convert.ToString(h + h1); h += h1;
DataGridViewTextBoxColumn Column9 =new DataGridViewTextBoxColumn();
Column9.HeaderText = "Ny";
dataGridView1.Columns.Add(
dataGridView1.Columns.Add(
dataGridView1.Columns.Add(
dataGridView1.Columns.Add(
dataGridView1.Columns.Add(
dataGridView1.Columns.Add(
dataGridView1.Columns.Add(
dataGridView1.Columns.Add(
dataGridView1.Columns.Add(
dataGridView1.Columns.Add(
for (i = 0,h=xmin2; i <k2; i++, sum = 0,h+=h2)
{
DataGridViewCell Cell0 = new DataGridViewTextBoxCell();
DataGridViewCell Cell1 = new DataGridViewTextBoxCell();
DataGridViewCell Cell2 = new DataGridViewTextBoxCell();
DataGridViewCell Cell3 = new DataGridViewTextBoxCell();
DataGridViewCell Cell4 = new DataGridViewTextBoxCell();
DataGridViewCell Cell5 = new DataGridViewTextBoxCell();
DataGridViewCell Cell6 = new DataGridViewTextBoxCell();
DataGridViewCell Cell7 = new DataGridViewTextBoxCell();
DataGridViewCell Cell8 = new DataGridViewTextBoxCell();
DataGridViewCell Cell9 = new DataGridViewTextBoxCell();
DataGridViewRow row = new DataGridViewRow();
Cell0.Value = Convert.ToString(h) + "-" + Convert.ToString(h+h2);
Cell1.Value = Convert.ToString(Mas[i, 0]); sum += Mas[i, 0]; Sum[0] += Mas[i, 0];
Cell2.Value = Convert.ToString(Mas[i, 1]); sum += Mas[i, 1]; Sum[1] += Mas[i, 1];
Cell3.Value = Convert.ToString(Mas[i, 2]); sum += Mas[i, 2]; Sum[2] += Mas[i, 2];
Cell4.Value = Convert.ToString(Mas[i, 3]); sum += Mas[i, 3]; Sum[3] += Mas[i, 3];
Cell5.Value = Convert.ToString(Mas[i, 4]); sum += Mas[i, 4]; Sum[4] += Mas[i, 4];
Cell6.Value = Convert.ToString(Mas[i, 5]); sum += Mas[i, 5]; Sum[5] += Mas[i, 5];
Cell7.Value = Convert.ToString(Mas[i, 6]); sum += Mas[i, 6]; Sum[6] += Mas[i, 6];
Cell8.Value = Convert.ToString(Mas[i, 7]); sum += Mas[i, 7]; Sum[7] += Mas[i, 7];
Cell9.Value = Convert.ToString(sum);
row.Cells.AddRange(Cell0, Cell1, Cell2, Cell3, Cell4, Cell5, Cell6, Cell7, Cell8,Cell9);
this.dataGridView1.Rows.Add(
}
DataGridViewCell Cell00 = new DataGridViewTextBoxCell();
DataGridViewCell Cell01 = new DataGridViewTextBoxCell();
DataGridViewCell Cell02 = new DataGridViewTextBoxCell();
DataGridViewCell Cell03 = new DataGridViewTextBoxCell();
DataGridViewCell Cell04 = new DataGridViewTextBoxCell();
DataGridViewCell Cell05 = new DataGridViewTextBoxCell();
DataGridViewCell Cell06 = new DataGridViewTextBoxCell();
DataGridViewCell Cell07 = new DataGridViewTextBoxCell();
DataGridViewCell Cell08 = new DataGridViewTextBoxCell();
DataGridViewCell Cell09 = new DataGridViewTextBoxCell();
DataGridViewRow row_ = new DataGridViewRow();
Cell00.Value = "Ny";
Cell01.Value = Convert.ToString(Sum[0]);
Cell02.Value = Convert.ToString(Sum[1]);
Cell03.Value = Convert.ToString(Sum[2]);
Cell04.Value = Convert.ToString(Sum[3]);
Cell05.Value = Convert.ToString(Sum[4]);
Cell06.Value = Convert.ToString(Sum[5]);
Cell07.Value = Convert.ToString(Sum[6]);
Cell08.Value = Convert.ToString(Sum[7]);
Cell09.Value = " ";
row_.Cells.AddRange(Cell00, Cell01, Cell02, Cell03, Cell04, Cell05, Cell06, Cell07, Cell08, Cell09);
this.dataGridView1.Rows.Add(
}
public void ur_pr(double[] X, double[] Y, int kol1,out double a,out double b)
{
int i;
double Xi = 0, Yi = 0, XiYi = 0, Xi2 = 0;
for (i = 0; i < kol1; i++)
{
Xi += X[i];
Xi2 += X[i] * X[i];
Yi = Y[i];
XiYi += X[i] * Y[i];
}
b = (XiYi - Xi * Yi) / (Xi2 - Xi * Xi);
a = (Xi2 * Yi - Xi * XiYi) / (Xi2 - Xi * Xi);
}
public void koef_kor(double[] X, double[] Y, int kol1, int kol2, out double Dx, out double Dy, out double Y_, out double r)
{
int i;
Y_ = 0; Dx = 0; Dy = 0;
double X_ = 0, k = 0, SKOx, SKOy;
for (i = 0; i < kol1; i++)
{
X_ += X[i];
Y_ = Y_ + Y[i];
}
X_ /= kol1;
Y_ = Y_ / kol2;
for (i = 0; i < kol1; i++)
{
k += (X[i] - X_) * (Y[i] - Y_);
Dx = Dx + Math.Pow((X[i] - X_), 2);
Dy = Dy + Math.Pow((Y[i] - Y_), 2);
}
k /= kol1;
Dx = Dx / (kol1 - 1);
Dy = Dy / (kol1 - 1);
SKOx = Math.Sqrt(Dx);
SKOy = Math.Sqrt(Dy);
r = k / (SKOx * SKOy);
}
public void ur_kt(double[] X, double[] Y)
{
int i;
double o,a,b,c;
double
sx=0,sy=0,sxy=0,ss=0,s2=0,s3=
for(i=0;i<k1;i++)
{
sx+=X[i];
sy+=Y[i];
sxy+=X[i]*Y[i];
ss+=Math.Pow(X[i],2)*Y[i];
s2+=Math.Pow(X[i],2);
s3+=Math.Pow(X[i],3);
s4+=Math.Pow(X[i],4);
}
o=k1*s2*s4+sx*s3*s2+s2*sx*s3-
a=sy*s2*s4+sx*s3*ss+s2*sxy*s3-
b=k1*sxy*s4+sy*s3*s2+sx*ss*s2-
c=k1*s2*ss+sx*sxy*s2+sx*s3*sy-
a=a/o;
b=b/o;
c=c/o;
label3.Text="y="+a+b+"x+"+c+"
}
public void kor_otn(double[] X, double[] Y, int kol2, double xmin, double xmax, double Dy, double Y_,out double N)
{
int i, j;
double h, Dy_gr = 0;
double[] kol_gr = new double[k2];
double[] sr_gr = new double[k2];
for (i = 0; i < k2; i++)
{
kol_gr[i] = 0;
sr_gr[i] = 0;
}
for (i = 0; i < kol2; i++)
for (j = 0, h = xmin; j < k2; j++, h += h2)
if (Y[i] <= (h + h2) && Y[i] >= h)
{
kol_gr[j]++;
sr_gr[j] += Y[i];
}
for (i = 0; i < k2; i++)
sr_gr[i] /= kol_gr[i];
for (i = 0; i < k2; i++)
Dy_gr += Math.Pow((sr_gr[i] - Y_), 2) * kol_gr[i] / kol2;
N = Math.Sqrt(Dy_gr / Dy);
}
public void fisher(double Dx, double Dy,out double F)
{
if (Dx > Dy)
F = Dx / Dy;
else
F = Dy / Dx;
}
public Form6()
{
InitializeComponent();
}
private void Form6_Load(object sender, EventArgs e)
{
int i;
double Dx , Dy , xmin, xmax, Y_, a, b , r , N , F ;
string[] lines1 = File.ReadAllLines("X.txt");
double[] X = new double[lines1.Length];
for (i = 0; i < X.Length; i++)
{
X[i] = Convert.ToDouble(lines1[i]);
}
string[] lines2 = File.ReadAllLines("Y.txt");
double[] Y = new double[lines2.Length];
for (i = 0; i < Y.Length; i++)
{
Y[i] = Convert.ToDouble(lines2[i]);
}
int kol1 = X.Length;
int kol2 = Y.Length;
table(X,Y,kol1,kol2,out xmin,out xmax);
ur_pr(X, Y, kol1, out a, out b);
label1.Text = "Линейное уранение прямой регрессии: y=" + a + b + "*x";
koef_kor(X, Y, kol1, kol2,out Dx,out Dy,out Y_,out r);
label2.Text = "Коэффициент корреляции: " + r;
ur_kt(X,Y);
kor_otn(X, Y, kol2, xmin, xmax, Dy, Dx,out N);
label4.Text = "Корреляционное отношение: " + N;
fisher(Dx, Dy,out F);
label5.Text = "Критерий Фишера: " + F;
}
private void button2_Click(object sender, EventArgs e)
{
Form4 f = new Form4();
f.Show();
}
}
}