Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Графика.doc
Скачиваний:
146
Добавлен:
19.02.2016
Размер:
1.71 Mб
Скачать

6. Построение графика корреляционной таблицы

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

Пример 6.1.Дана корреляционная таблица значений признаков X и Y . Построить на плоскости значения двумерной случайной величины Z=(X,Y) , заданные в таблице, указав частоты этих значений. Найти и построить линию прямой регрессии Y на X .

X

Y

20

25

30

35

40

100

2

11

-

-

-

13

120

3

4

5

-

-

12

140

-

-

42

3

-

45

160

-

-

4

10

8

22

180

-

-

-

-

8

8

5

15

51

13

16

n=100

Решение.Выполним вычисления и проведем построение в пакете Maple

Классическое окно

Стандартное окно

1) Задаем точность вычислений

> Digits := 4:

2) Вводим значения составляющих X и Y двумерной случайной величины Z=(X,Y)

> X:=vector[row]([20,25,30,35,40]);

Y:=vector[row]([100,120,140,160,180]);

3) Определяем число значений составляющих двумерной случайной величины

> with(linalg):n:=vectdim(X);m:=vectdim(Y);

4) Заполняем матрицу частот (по строкам)

> nxy:=matrix(m,n,[2,11,0,0,0,3,4,5,0,0,0,0,42,3,0,0,

0,4,10,8,0,0,0,0,8]);

5) Найдем отдельные частоты значений составляющих

> f:=(i)->sum('nxy[i,k]','k'=1..n):

g:=(k)->sum('nxy[i,k]','i'=1..m):

ny:=vector[row](m,f);nx:=vector[row](n,g);

6) Найдем объем выборки

> N:=sum('nx[i]','i'=1..n);N1:=sum('ny[i]','i'=1..m);

7) Вычислим выборочные средние составляющих X и Y

> xv:=sum('(X[k]*nx[k])/N','k'=1..n):

yv:=sum('(Y[k]*ny[k])/N','k'=1..m):

'xv'=evalf(xv);'yv'=evalf(yv);

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

> sx:=sqrt(sum('(X[k]-xv)^2*nx[k]/N','k'=1..n)):

sy:=sqrt(sum('(Y[k]-yv)^2*ny[k]/N','k'=1..m)):

'sx'=evalf(sx);'sy'=evalf(sy);

9) Найдем выборочный коэффициент линейной корреляции

> rv:=(sum(sum('nxy[i,k]*X[k]*Y[i]','i'=1..m),

'k'=1..n)-N*xv*yv)/(N*sx*sy):'rv'=evalf(rv);

10) Составим уравнения линейных регрессий Y на X и X на Y

> y[x]:=rv*(sy/sx)*(x-xv)+yv;

x[y]:=rv*(sx/sy)*(y-yv)+xv;

11) Составим список пар наблюдаемых значений

> A:=[]:

> for i from 1 to n do for j from 1 to m do if

nxy[j,i]<>0 then A:=[op(A),[X[i],Y[j]]];

PQ[nops(A)]:=nxy[j,i]; fi; od; od;

> PP:=[seq([op(1,A[i]),op(2,A[i])],i=1..nops(A))];

12) Строим требуемые графики значений, частот, линии регрессии

> with(plots):

> T:=pointplot(PP,symbol=solidcircle):

> for k from 1 to nops(PP) do

TP[k]:=textplot([op(1,PP[k])+0.2,op(2,PP[k])+0.2,

PQ[k]],align={ABOVE,RIGHT});od:

> TT:=plot(y[x],x=X[1]-X[1]*0.1..X[n]+X[n]*0.1):

> plots[display](T,TT,seq(TP[k],k=1..nops(PP)));

print(`выборочные средние`,'x[в]'=evalf(xv),

'y[в]'=evalf(yv));

print(`стандартные отклонения`,'s[x]'=evalf(sx),

's[y]'=evalf(sy));

print(`уравнение регрессии`,'y[x]'=evalf(y[x]));

print(`коэффициент корреляции`,'r[в]'=evalf(rv));

Рисунок 6.1 – График корреляционной таблицы и линии регрессии

Библиографический список

1. Аладьев В.З. Системы компьютерной математики: MAPLE: искусство программирования.// – М.: Лаборатория базовых знаний, 2006, 792 с.

2. Аладьев В.З., Бойко В.К., Ровба Е.А. Программирование и разработка приложений в Maple.// Гродно, Таллинн, 2007, 458 с.

3. Дьяконов В.П. Maple 9.5/10 в математике, физике и образовании. // –М.: СОЛОН-Пресс, 2006, 720 с.

4. Васильев А.Н. Maple 8. Самоучитель.// – М.: Издательский дом «Вильямс», 2003, 352 с.

5. Матросов А.В. Maple 6. Решение задач высшей математики и механики.// –СПб.: БХВ-Петербург, 2001, 528 с.