Дипломы, курсовые, рефераты, контрольные...
Срочная помощь в учёбе

Сравнение двух групп данных с использованием t-статистики Стьюдента

Лабораторная работаПомощь в написанииУзнать стоимостьмоей работы

Исходя их среднеквадратических отклонений выборок, вычисляется t-критерий Стьюдента, и по приближенным формулам вычисляется его критическое значение. Если получившееся значение критерия превосходит критическое, следовательно, нулевая гипотеза не верна. Иначе нулевая гипотеза верна. Исходя из среднеквадратических отклонений выборок, вычисляется t-критерий Стьюдента, и по приближенным формулам… Читать ещё >

Сравнение двух групп данных с использованием t-статистики Стьюдента (реферат, курсовая, диплом, контрольная)

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Новгородский государственный университет имени Ярослава Мудрого Кафедра Информационных Технологий и Систем Лабораторная работа № 1

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

Сравнение двух групп данных с использованием t-статистики Стьюдента

Преподаватель Александров В.Н.

Студент гр.№ 0091: Многолетний А.В.

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

Цель работы

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

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

Сначала генерируется выборка. После получения выборки вычисляется среднее значение и среднеквадратическое отклонение. Этот процесс повторяется и для другой выборки. Из получившихся значений среднеквадратических отклонений вычисляется среднеквадратическое отклонение выборочных среднеквадратических отклонений и оценка среднеквадратического отклонения разности двух выборочных средних.

Исходя из вычисленных среднеквадратических отклонений, формируется критерий Фишера, и по приближенным формулам вычисляется его критическое значение. Если получившееся значение критерия Фишера превосходит критическое, следовательно, нулевая гипотеза не верна, о чем и выводится соответствующее сообщение. В противном случае производится проверка на t-критерии Стьюдента.

Исходя из среднеквадратических отклонений выборок, вычисляется t-критерий Стьюдента, и по приближенным формулам вычисляется его критическое значение. Если получившееся значение критерия превосходит критическое, следовательно, нулевая гипотеза не верна. Иначе нулевая гипотеза верна.

Таблица имен переменных

имя

описание

n1

Объем выборки № 1

n2

Объем выборки № 2

M1

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

M2

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

sg

Дисперсия

S1

Среднее значение выборки № 1

S2

Среднее значение выборки № 2

SQ1

Среднеквадратичное отклонение выборки № 1

SQ2

Среднеквадратичное отклонение выборки № 2

X1

Выборка № 1

X2

Выборка № 2

SS

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

S

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

F

Критерий Фишера

u

Квантиль нормального распределения

L

Переменная для вычисления критического значения критерия Фишера

H

Переменная для вычисления критического значения критерия Фишера

W

Переменная для вычисления критического значения критерия Фишера

Fc

критическое значение критерия Фишера

t

Значение t-критерия Стьюдента

v

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

q1

Переменная для вычисления критического значения t-критерия Стьюдента

q2

Переменная для вычисления критического значения t-критерия Стьюдента

q3

Переменная для вычисления критического значения t-критерия Стьюдента

q4

Переменная для вычисления критического значения t-критерия Стьюдента

Tc

критическое значение t-критерия Стьюдента

Рисунок 1. Блок-схема программы

Код программы

// 1LAlex

#include «stdafx.h»

#include

#include

#include

using namespace std;

double NormRasp (double m, double sg); //Возвращает нормально распределённую случайную величину;

double S (double * X, int n); //Возвращает среднее значение для заданной выборки X, размером n

double SQ (double * X, int n, double S); //Возвращает среднеквадратическое отклонение

int main (){

int n1, n2; //Объемы двух выборок;

double

M1,M2, //Генеральные значения математического ожидания для двух выборок;

sg; //Генеральное значение среднеквадратического отклонения; (сигма малое)

cout<<" Vvedite ob’em pervoy vuborki: ntn1=";

cin>> n1;

cout<<" Vvedite general’noe znachenie matematichescogo ozidaniya dlya pervoy vuborki: ntM1=";

cin>> M1;

cout<<" Vvedite ob’em vtoroy vuborki: ntn2=";

cin>> n2;

cout<<" Vvedite general’noe znachenie matematichescogo ozidaniya dlya vtoroy vuborki: ntM2=";

cin>> M2;

cout<<" Vvedite general’noe znachenie srednekvadratichescogo otcloneniya: ntsg=";

cin>> sg;

//Создание выборки

//Выделяем память для значений первой выборки

double * X1 = new double [n1];

double S1 = 0; //Среднее значение первой выборки

double SQ1= 0; //среднеквадратичное отклонение

for (int i=0;i

X1[i]=NormRasp (M1,sg);

S1=S (X1,n1);

SQ1=SQ (X1,n1,S1);

//Удаляем выборку

delete [] X1;

cout << «Srednee znachenie pervoy vuborci: ntS1="<<» nSrednekvadratichnoe otclonenie pervoy vuborki: ntSQ1="<< SQ1 <<" n" ;

//Выделяем память для значений второй выборки

double * X2 = new double [n2];

double S2 = 0; //Среднее значение первой выборки

double SQ2= 0; //среднеквадратичное отклонение

for (int i=0;i

X2[i]=NormRasp (M2,sg);

S2=S (X2,n2);

SQ2=SQ (X2,n2,S2);

//Удаляем выборку

delete [] X2;

cout << «Srednee znachenie vtoroy vuborci: ntS2="<<» n Srednecvadratichnoe otclonenie vtoroy vuborci: ntSQ2="<< SQ2 <<" n" ;

double SS=sqrt (((n1−1)*pow (S1,2)+(n2−1)*pow (S2,2))/(n1+n2−2));

cout << «Srednevzveshennoe srednecvadraticheskoe jtclonenie dvuh srednecvadraticheskih otcloneniy: ntSS=» << SS << «n» ;

double S=SS*(1.0/(double)n1+1.0/(double)n2);

cout << «Ocenka srednekvadraticheskogo otkloneniya raznosti dvuh vuborochnuh srednih: ntS=» << S << «n» ;

double F=pow (SQ1,2)/pow (SQ2,2);

if (F<1) F=1/F;

cout << «Znachenie kriteriya Fishera: ntF=» << F <<" n" ;

double u=1.645; //квантиль нормального распределения

double v1=n1−1;//Число степеней свободы для числителя

double v2=n2−1;//Число степеней свободы для знаменателя

double L=(pow (u, 2)-3)/6;

double H=2.0*(v1−1)*(v2−1)/(v1+v2−2);

double W=u*sqrt (H+L)/H-(1.0/(v1−1)-1.0/(v2−1))*(L+5.0/6.0−2.0/3.0/H);

double Fc=exp (W*2);

cout << «Kriticheskoe znachenie kriteriya Fushera: nt Fc=» << Fc <<" n" ;

if (F>=Fc) cout << «Kriteriy Fishera ne vupolnen — nulevaya gipoteza ne verna! n» ;

else

{

cout << «Kriteriy Fishera vupolnen! n» ;

double t=(fabs (S1)-fabs (S2))/S;

cout << «Znachenie t-kriteriya St’yudentantt=» << t << «n» ;

double q1=(pow (u, 2)+1)*u/4;

double q2=((5*pow (u, 2)+16)*pow (u, 2)+3)*u/96;

double q3=(((3*pow (u, 2)+19)*pow (u, 2)+17)*pow (u, 2)-15)*u/384;

double q4=((((79*pow (u, 2)+776)*pow (u, 2)+1482)*pow (u, 2)-1920)*pow (u, 2)-945)*u/92 160;

double v=v1+v2;

double tc=u+q1/v+q2/v/v+q3/v/v/v+q4/v/v/v/v;

cout << «Kriticheskoe znachenie t-kriteriya St’yudenta: «<< tc << «n» ;

if (t<< «t-kriteriy St’yudenta vupolnen. Nulevaya gipoteza vernan» ;

else cout << «t-kriteriy St’yudenta ne vupolnen. Nulevaya gipoteza ne vernan» ;

}

system («pause»);

}

double NormRasp (double m, double sg){

double sum=0.0;

for (int i=0;i<12;i++)

sum+=((double)rand ())/RAND_MAX;

return m+sg*(sum-1);

}

double S (double * X, int n){

double sum=0.0;

for (int i=0; i

sum+=X[i];

return sum/n;

}

double SQ (double * X, int n, double S){

double SQ=0.0;

for (int i=0; i

SQ+=(X[i]-S)*(X[i]-S);

return sqrt (SQ/(n-1));

}

Пример ввода входных данных

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

n1

n2

M1

M2

sg

Критерий Фишера

Критерий Стьюдента

Гипотеза

х

х

х

х

х

х

х

х

Пример

Вывод

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

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

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Новгородский государственный университет имени Ярослава Мудрого Кафедра Информационных Технологий и Систем Лабораторная работа № 1

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

Сравнение двух групп данных с использованием t-статистики Стьюдента

Преподаватель Александров В.Н.

Студент гр.№ 8091:

Алексеев С.Н.

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

Цель работы

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

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

Сначала генерируется выборка. После получения выборки вычисляется среднее значение и среднеквадратическое отклонение. Этот процесс повторяется и для другой выборки. Из получившихся значений среднеквадратических отклонений вычисляется среднеквадратическое отклонение выборочных среднеквадратических отклонений и оценка среднеквадратического отклонения разности двух выборочных средних.

Исходя из вычисленных среднеквадратических отклонений, формируется критерий Фишера, и по приближенным формулам вычисляется его критическое значение. Если получившееся значение критерия Фишера превосходит критическое, следовательно, нулевая гипотеза не верна, о чем и выводится соответствующее сообщение. В противном случае производится проверка на t-критерии Стьюдента.

Исходя их среднеквадратических отклонений выборок, вычисляется t-критерий Стьюдента, и по приближенным формулам вычисляется его критическое значение. Если получившееся значение критерия превосходит критическое, следовательно, нулевая гипотеза не верна. Иначе нулевая гипотеза верна.

Таблица имен

n1

Объем выборки № 1

n2

Объем выборки № 2

M1

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

M2

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

sg

Дисперсия

S1

Среднее значение выборки № 1

S2

Среднее значение выборки № 2

SQ1

Среднеквадратичное отклонение выборки № 1

SQ2

Среднеквадратичное отклонение выборки № 2

X1

Выборка № 1

X2

Выборка № 2

SS

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

S

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

F

Критерий Фишера

u

Квантиль нормального распределения

L

Переменная для вычисления критического значения критерия Фишера

H

Переменная для вычисления критического значения критерия Фишера

W

Переменная для вычисления критического значения критерия Фишера

Fc

критическое значение критерия Фишера

t

Значение t-критерия Стьюдента

v

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

q1

Переменная для вычисления критического значения t-критерия Стьюдента

q2

Переменная для вычисления критического значения t-критерия Стьюдента

q3

Переменная для вычисления критического значения t-критерия Стьюдента

q4

Переменная для вычисления критического значения t-критерия Стьюдента

Tc

критическое значение t-критерия Стьюдента

Рисунок 2. Блок-схема программы

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

случайный величина выборка стьюдент

#include

#include

#include

using namespace std;

double NormRasp (double m, double sg); //Возвращает нормально распределённую случайную величину;

double S (double * X, int n); //Возвращает среднее значение для заданной выборки X, размером n

double SQ (double * X, int n, double S); //Возвращает среднеквадратическое отклонение

int main (){

int n1, n2; //Объемы двух выборок;

double

M1,M2, //Генеральные значения математического ожидания для двух выборок;

sg; //Генеральное значение среднеквадратического отклонения; (сигма малое)

cout<<" Введите объем первой выборки: ntn1=";

cin>> n1;

cout<<" Введите генеральное значение математического ожидания для первой выборки: ntM1=";

cin>> M1;

cout<<" Введите объем второй выборки: ntn2=";

cin>> n2;

cout<<" Введите генеральное значение математического ожидания для второй выборки: ntM2=";

cin>> M2;

cout<<" Введите генеральное значение среднеквадратического отклонения: ntsg=";

cin>> sg;

//Создание выборки

//Выделяем память для значений первой выборки

double * X1 = new double [n1];

double S1 = 0; //Среднее значение первой выборки

double SQ1= 0; //среднеквадратичное отклонение

for (int i=0;i //Заполнение первой выборки

X1[i]=NormRasp (M1,sg);

S1=S (X1,n1);

SQ1=SQ (X1,n1,S1);

//Удаляем выборку

delete [] X1;

cout << «Среднее значение первой выборки: ntS1="<<» n Среднеквадратичное отклонение первой выборки: ntSQ1="<< SQ1 <<" n" ;

//Выделяем память для значений второй выборки

double * X2 = new double [n2];

double S2 = 0; //Среднее значение первой выборки

double SQ2= 0; //среднеквадратичное отклонение

for (int i=0;i //Заполнение первой выборки

X2[i]=NormRasp (M2,sg);

S2=S (X2,n2);

SQ2=SQ (X2,n2,S2);

//Удаляем выборку

delete [] X2;

cout << «Среднее значение второй выборки: ntS2="<<» n Среднеквадратичное отклонение второй выборки: ntSQ2="<< SQ2 <<" n" ;

double SS=sqrt (((n1−1)*pow (S1,2)+(n2−1)*pow (S2,2))/(n1+n2−2));

cout << «Средневзвешенное среднеквадратическое отклонение двух среднеквадратических отклонений: ntSS=» << SS << «n» ;

double S=SS*(1.0/(double)n1+1.0/(double)n2);

cout << «Оценка среднеквадратического отклонения разности двух выборочных средних: ntS=» << S << «n» ;

double F=pow (SQ1,2)/pow (SQ2,2);

if (F<1) F=1/F;

cout << «Значение критерия Фишера: ntF=» << F <<" n" ;

double u=1.645; //квантиль нормального распределения

double v1=n1−1;//Число степеней свободы для числителя

double v2=n2−1;//Число степеней свободы для знаменателя

double L=(pow (u, 2)-3)/6;

double H=2.0*(v1−1)*(v2−1)/(v1+v2−2);

double W=u*sqrt (H+L)/H-(1.0/(v1−1)-1.0/(v2−1))*(L+5.0/6.0−2.0/3.0/H);

double Fc=exp (W*2);

cout << «Критическое значение критерия Фишера: nt Fc=» << Fc <<" n" ;

if (F>=Fc) cout << «Критерий Фишера не выполнен — нулевая гипотеза не верна! n» ;

else

{

cout << «Критерий Фишера выполнен! n» ;

double t=(fabs (S1)-fabs (S2))/S;

cout << «Значение t-критерия Стьюдентаntt=» << t << «n» ;

double q1=(pow (u, 2)+1)*u/4;

double q2=((5*pow (u, 2)+16)*pow (u, 2)+3)*u/96;

double q3=(((3*pow (u, 2)+19)*pow (u, 2)+17)*pow (u, 2)-15)*u/384;

double q4=((((79*pow (u, 2)+776)*pow (u, 2)+1482)*pow (u, 2)-1920)*pow (u, 2)-945)*u/92 160;

double v=v1+v2;

double tc=u+q1/v+q2/v/v+q3/v/v/v+q4/v/v/v/v;

cout << «Критическое значение t-критерия Стьюдента: «<< tc << «n» ;

if (t<< «t-критерий Стьюдента выполнен. Нулевая гипотеза вернаn» ;

else cout << «t-критерий Стьюдента не выполнен. Нулевая гипотеза не вернаn» ;

}

}

double NormRasp (double m, double sg){

double sum=0.0;

for (int i=0;i<12;i++)

sum+=((double)rand ())/RAND_MAX;

return m+sg*(sum-1);

}

double S (double * X, int n){

double sum=0.0;

for (int i=0; i

sum+=X[i];

return sum/n;

}

double SQ (double * X, int n, double S){

double SQ=0.0;

for (int i=0; i

SQ+=(X[i]-S)*(X[i]-S);

return sqrt (SQ/(n-1));

}

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

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

n1

n2

M1

M2

sg

Критерий Фишера

Критерий Стьюдента

Гипотеза

х

х

х

х

х

х

х

х

Вывод

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

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

Контрольные вопросы

ь Что такое t-статистика Стьюдента?

Ш Класс методов статистической проверки гипотез (статистических критериев), основанных на сравнении с распределением Стьюдента. Наиболее частые случаи применения t-критерия связаны с проверкой равенства средних значений в двух выборках.

ь Какие существуют ограничения применения t-статистики Стьюдента?

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

ь Для чего используется F-статистика Фишера?

Ш Критерий Фишера применяется для проверки равенства дисперсий двух выборок.

ь Как строится алгоритм получения значений случайных величин, имеющих закон нормального распределения?

Ш Для получения значений случайных величин, имеющих закон нормального распределения существует три алгоритма:

§ Алгоритм суммирования для и :

для произвольных и :

§ Приближенный алгоритм

где

§ Алгоритм обратных функций где и — два разных значения случайного числа с равномерным законом распределения в интервале от 0 до 1.

Показать весь текст
Заполнить форму текущей работой