Эмпирическая плотность распределения

  • Вид работы:
    Практическое задание
  • Предмет:
    Менеджмент
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    121,01 Кб
  • Опубликовано:
    2014-02-06
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Эмпирическая плотность распределения
















Эмпирическая плотность распределения

1. Математическая модель решения

Сначала генерируются 2 выборки из N элементов. Затем определяются минимальные и максимальные значения выборки. После этого происходит разбиение выборок на интервалы и определяется значение критерия Х2. Полученное значение сравнивается с критическим значением Хкр. Из результатов сравнения делается вывод о принятии и отвержении гипотезы об идентичности двух плотностей распределения.

Затем определяется математическое ожидание выборки и среднеквадратическое отклонение. По ним вычисляются вероятности попадания числа в каждый из интервалов. Исходя из этих вероятностей вычисляется значение критерия Х2 и сравнивается с критическим значением Хкр. Из результатов сравнения делается вывод о принятии и отвержении гипотезы о принадлежности случайного числа нормальному закону распределения.

Таблица имен

N

Объем выборок

M

Мат. Ожидание

S

Генеральное среднеквадратичное отклонение

Y1

Выборка №1

Y2

Выборка №2

k

Число интервалов

xmin

Минимальное значение выборки

xmax

Максимальное значение выборки

dx

Диапазон интервала

cnt1

Число элементов в каждом интервале первой выборки

cnt2

Число элементов в каждом интервале второй выборки

xmed

Среднее значение каждого интервала

xi1

Значение критерия Х2

xikr

Критическое значение Х2

Result1

Результат проверки гипотезы об идентичности двух плотностей распределения

mid

Математическое ожидание выборки

sr

Выборочное среднеквадратичное отклонение

P

Вероятность попадания числа в каждый из интервалов

xi2

Значение критерия Х2

xi2kr

Критическое значение Х2

Result2

Результат проверки нулевой гипотезы о принадлежности случайного числа нормальному закону распределения.

SX

Масштаб графика по Х

SY

Масштаб графика по Y

. Текст программы

System;System. Collections. Generic;System. ComponentModel;System. Data;System. Drawing;System. Text;System. Windows. Forms;oed4

{partial class Form1: Form

{Form1 ()

{();

}double Laplas (double X)

{F = 0;dt=Math. Abs (X/1000);(int i = 0; i < 1000; i++)+= Math. Exp (-i * dt * i * dt / 2) * dt;/= Math. Sqrt (2 * Math.PI)*Math. Sign(X);F;

}void button1_Click (object sender, EventArgs e)

{

// получение данныхN = Convert. ToInt32 (textBox1. Text); // объем выборкиM = Convert. ToDouble (textBox2. Text); // мат. ожиданиеS = Convert. ToDouble (textBox3. Text); // среднекв. отклонениеR = new Random(); // генератор случайных чисел<double> Y1 = new List<double>(N); // выборка

// генерация выборки №1(int i = 0; i < N; i++)

{sum = 0; // сумма 12 чисел(int ii = 0; ii < 12; ii++)+= (double) R. NextDouble(); // генерация случайного числа. Add((M + S * (sum - 6))); // помещение числа в массив

}

// генерация выборки №2 - аналогично<double> Y2 = new List<double>(N);(int i = 0; i < N; i++)

{sum = 0;(int ii = 0; ii < 12; ii++)+= (double) R. NextDouble();. Add((M + S * (sum - 6)));

}k = (int) (1 + 3.32 * Math. Log10 (N)); // число интервалов

// поиск пределовxmin = Y1 [0], xmax = Y1 [0];(int i = 0; i < N; i++)

{(Y1 [i] < xmin) xmin = Y1 [i];(Y1 [i] > xmax) xmax = Y1 [i];(Y2 [i] < xmin) xmin = Y2 [i];(Y2 [i] > xmax) xmax = Y2 [i];

}

{sum = 0; // сумма значений интервала. Add(0);. Add(0);(int j = 0; j < N; j++) // анализ интервала

{((Y1 [j] > xmin + i * dx) && (Y1 [j] <= xmin + (i + 1) * dx))

{[i]++;+= Y1 [j];

}((Y2 [j] > xmin + i * dx) && (Y2 [j] <= xmin + (i + 1) * dx))

{[i]++;+= Y2 [j];

}

}(cnt1 [i] + cnt2 [i] == 0). Add(0);xmed. Add (sum / (cnt1 [i] + cnt2 [i])); // вычисление суммы(cnt2 [i]!= 0)+= (cnt1 [i] - cnt2 [i]) * (cnt1 [i] - cnt2 [i]) / (double) cnt2 [i]; // вычисление критерия

}

// вычисление критического значения критерияdouble u = 1.645;v = k - 1;xikr = v * (1 - 2 / v / 9 + u * Math. Sqrt (2 / v / 9));Result1= «Нулевая гипотеза об отсутствии статистически значиых различий между выборками»;(xi1<xikr) Result1+= «Принимается»;Result1+= «Отвергается»;

// вычисление мат. ожиданияmid = 0;(int i = 0; i < k; i++)+= xmed[i] * (cnt1 [i] + cnt2 [i]);/= N*2;

// вычисление квадрата отклоненияsr = 0;(int i = 0; i < k; i++)+= (xmed[i] - mid) * (xmed[i] - mid) * (cnt1 [i] + cnt2 [i]);= Math. Sqrt (sr / (N*2 - 1) + (xmax - xmin) * (xmax - xmin) / 12);<double> P = new List<double>(k); // вероятность попадания величины в интервал(int i = 0; i < k; i++)

{a = xmin + dx * i;b = xmin + dx * (i+1);p = Laplas((b - M) / S) - Laplas((a - M) / S);. Add(p);

}xi2 = 0;(int i = 0; i < k - 1; i++)+= Math. Pow((cnt1 [i] + cnt2 [i] - 2 * N * P[i]), 2) / (2 * N * P[i]);v2 = k - 3;xi2kr = v2 * (1 - 2 / v2 / 9 + u * Math. Sqrt (2 / v2 / 9));Result2 = «Гипотеза о нормальном законе распределения»;(xi2 < xi2kr) Result2 += «Принимается»;Result2 += «Отвергается»;

// вывод графикаSX = (float) pictureBox1. Width / k;SY = (float) pictureBox1. Height / N;bmp = new Bitmap (pictureBox1. Width, pictureBox1. Height);gr = Graphics. FromImage(bmp);. Clear (Color. White);

// оси(int i = 1; i < k; i++)

{. DrawLine (Pens. LightGray, i * SX, 0, i * SX, pictureBox1. Height);. DrawString (Convert. ToString (xmin+ i * dx), Font, Brushes. Black,* SX, 0);

}(int i = 1; i < 4; i++)

{. DrawLine (Pens. LightGray, 0, i * SY * N / 4,. Width, i * SY * N / 4);. DrawString (Convert. ToString (N - i * N / 4), Font,. Black, 0, i * SY * N / 4);

}

// график(int i = 0; i < k; i++)

{f = 1 - 1 / Math. Sqrt (2 * Math.PI) / sr * Math. Exp (-Math. Pow((xmin + dx * i - mid), 2) / 2 / sr /sr);f1 = 1 - 1 / Math. Sqrt (2 * Math.PI) / sr * Math. Exp (-Math. Pow((xmin + dx * (i + 1) - mid), 2) / 2 / sr/sr);. DrawLine (Pens. Red, i * SX, (float) f * N * SY, (i + 1) * SX, (float) f1 * N * SY);. DrawLine (Pens. Black, i * SX, (float) (N - cnt1 [i] - cnt2 [i]) * SY,

(i + 1) * SX, (float) (N - cnt1 [i] - cnt2 [i]) * SY);

}(int i = 0; i < k-1; i++). DrawLine (Pens. Green, (i+0.5f) * SX, (float) (1 - P[i]) * N * SY, (i + 1.5f) * SX, (float) (1 - P [i+1]) * N * SY);. Image = bmp;. Show («Критерий согласия:» + xi1. ToString() + «\n» +

«крит. значение» + xikr. ToString() + «\n»++»\n»+

«Математическое ожидание» + mid. ToString() +

«среднеквадратичное отклонение» + sr. ToString() +

«Критерий согласия:» + xi2. ToString() + «\n» +

«крит. значение» + xi2kr. ToString() + «\n»++»\n»);

}

}

}

3. Шаблон ввода входных данных


4. Результаты работы программы

алгоритм программа плотность пирсонг


Выводы

Был разработан алгоритм и написана программа на языке С#, генерирующая значения случайных величин, имеющих нормальный закон распределения. С помощью ее удалось проверить гипотезу об идентичности двух плотностей распределения, используя критерий -Пирсона, а также проверить гипотезу о принадлежности случайного числа нормальному распределению.


Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!