Однофакторный дисперсионный анализ

 

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

"Новгородский государственный университет имени Ярослава Мудрого"

Кафедра Информационных Технологий и Систем








Лабораторная работа

по дисциплине "Обработка экспериментальных данных"

Однофакторный дисперсионный анализ




Преподаватель:

Александров В.Н.

Студент гр.0091:

Многолетний А.В.






Великий Новгород



1. Цель работы


Ознакомиться с однофакторным дисперсионным анализом и разработать алгоритм и программу для его реализации.

Алгоритм решения:

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

Определяется выборочная дисперсия, средняя дисперсия и дисперсия влияния фактора. Исходя из них определяется значение критерия Фишера, оно сравнивается с критическим, на основание чего делается вывод о существенности влияния фактора


2. Таблица имен


DДисперсия каждой выборкиMatrixМассив выборокD0Средняя дисперсия выборокFЗначение критерия ФишераFkrКритическое значение критерия ФишераM1Мат. ожидание первой выборкиNОбъем выборокgЗначение критерия КохранаKЧисло выборокDMШаг мат. ожиданияSumDСумма дисперсий выборокMaxDМаксимальная дисперсия выборкиDyОбщая выборочная дисперсияDAДисперсия влияния фактораSGГенеральная дисперсияMМассив мат. ожиданий выборокMidСреднее значение выборок


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

System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;oed5lab

{partial class Form1 : Form

{Form1()

{();

}Random R = new Random();float NormRasp(double m, double sg)

{sum = 0;(int i = 0; i < 12; i++)+= (float)R.NextDouble();(float)(m + sg * (sum - 6));

}InverseNormalCDF(double alpha)

{res = 0, p = 0, t = 0, q = 0;(alpha < 0.5)= alpha;= 1 - alpha;= Math.Sqrt(-2 * Math.Log(p, Math.E));= t - ((0.010328 * t + 0.802853) * t + 2.515517) / (((0.001308 * t + 0.189269) * t + 1.432788) * t + 1);(alpha > 0.5)= q;= -q;res;

}void button1_Click(object sender, EventArgs e)

{

//Введите объем выборки:N=Convert.ToInt32(textBox1.Text);

//Введите число уровней фактора:K = Convert.ToInt32(textBox4.Text);

//Введите математическое ожидание на первом уровне:M1 = Convert.ToDouble(textBox2.Text);

//Введите изменение математического ожидания:DM = Convert.ToDouble(textBox3.Text);

//Введите генеральное значение среднеквадратичного отклонения:SG= Convert.ToDouble(textBox5.Text);.Text = "";[,] Matrix = new double[K, N];(int i = 0; i < K; i++)

{(int j = 0; j < N; j++)

{[i, j] = NormRasp(M1 + i * DM, SG);

// label8.Text += Math.Round(Matrix[i, j],3) + "\t";.Text += Math.Round(Matrix[i, j], 3) + "\t";

}

//label8.Text += "\n";.Text += "\n";

}[] M = new double[K];(int i = 0; i < K; i++)

{[i] = 0;(int j = 0; j < N; j++)[i] += Matrix[i, j];[i] /= (double)N;

}[] D = new double[K];MaxD = 0;SumD = 0;(int i = 0; i < K; i++)

{[i] = 0;(int j = 0; j < N; j++)[i] += (Matrix[i, j] - M[i]) * (Matrix[i, j] - M[i]);[i] = D[i] / (double)(N - 1);(D[i] > MaxD) MaxD = D[i];+= D[i];

}g = MaxD / (SumD - MaxD);.Text="Значение критерия Кохрана " + Math.Round(g,3) + "\n";Mid = 0;(int i = 0; i < K; i++)+= M[i];/= (double)K;.Text += "Математическое ожидание " + Math.Round(Mid,3) + "\n";Dy = 0;(int i = 0; i < K; i++)(int j = 0; j < N; j++)+= (Matrix[i, j] - Mid) * (Matrix[i, j] - Mid);/= (double)K * N - 1;.Text += "Общая выборочная дисперсия " + Math.Round(Dy,3) + "\n";D0 = 0;(int i = 0; i < K; i++)+= D[i];/= (double)K;.Text += "Средняя дисперсия по уровням " + Math.Round(D0,3) + "\n";DA = 0;(int i = 0; i < K; i++)+= (M[i] - Mid) * (M[i] - Mid);*= (double)N / (K - 1);.Text += "Дисперсия фактора " + Math.Round(DA,3) + "\n";F = DA / D0;.Text += "Влияние фактора " + Math.Round(DA,3) +"\n";p = Convert.ToDouble(comboBox1.Text.ToString());u = Math.Abs(InverseNormalCDF(p));//квинтиль нормального распределенияuq = Math.Pow(u, 2);//квадрат квинтиляL = (uq - 3) / 6;H = 2.0 * (K - 2) * (K * (N - 1) - 1) / (K * N - 2);W = u * Math.Sqrt(H + L) / H - (1.0 / (K - 2) - 1.0 / (K * (N - 1) - 1)) * (L + 5.0 / 6 - 2.0 / 3 / H);Fkr = Math.Exp(W * 2);.Text += "Критическое значение " + Math.Round(Fkr,3) + "\n";.Text +="Влияние фактора ";(F < Fkr) label6.Text += "Несущественно\n";label6.Text += "Cущественно\n";

}

}

}


. Пример




Вывод

выборка распределение дисперсионный однофакторный

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


Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Новгородский государственный университет имени Я

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ