4.1 Текст програми

 

restart:with(LinearAlgebra):

Klassic ocenki_parametrov:

> ocenki_parametrov:=proc(viborka,nomer_zavis_koord)

local kol_strok,kol_stolbcov,matrica_X,vektor_Y_1,vektor_Y,

X_transpon,otvet_prom,otvet;

kol_strok:=RowDimension(viborka):

kol_stolbcov:=ColumnDimension(viborka):

matrica_X:=DeleteColumn(viborka,nomer_zavis_koord..nomer_zavis_koord):

vektor_Y_1:=DeleteColumn(viborka,1..nomer_zavis_koord-1):

vektor_Y:=DeleteColumn(vektor_Y_1,2..kol_stolbcov-nomer_zavis_koord+1):

X_transpon:=Transpose(matrica_X):

otvet_prom:=MatrixInverse(MatrixMatrixMultiply(X_transpon,matrica_X)):

otvet:=MatrixMatrixMultiply(MatrixMatrixMultiply(otvet_prom,X_transpon),vektor_Y):

end proc:

Notna ocenki_parametrov:

> notna_ocenki_parametrov:=proc(viborka,nomer_zavis_koord,pogr)

local kol_strok, kol_stolbcov, matrica_X,vektor_Y_1, vektor_Y,

n,m,j,k,c,i,pogr_Y,pogr_X,vector_beta,pod_sum_vnutr,summa_vnutr,sum_vnesh,pod_summa_2,summa_2,summa;

global otv:

kol_strok:=RowDimension(viborka):

kol_stolbcov:=ColumnDimension(viborka):

matrica_X:=DeleteColumn(viborka,nomer_zavis_koord..nomer_zavis_koord):

vektor_Y_1:=DeleteColumn(viborka,1..nomer_zavis_koord-1):

vektor_Y:=DeleteColumn(vektor_Y_1,2..kol_stolbcov-nomer_zavis_koord+1):

m:=kol_stolbcov-1:

n:=kol_strok:

pod_sum_vnutr:=array(1..n):

summa_vnutr:=array(1..m):

sum_vnesh:=array(1..m):

pod_summa_2:=array(1..n):

summa_2:=array(1..m):

summa:=array(1..m):

pogr_Y:=pogr[nomer_zavis_koord]:

pogr_X:=array(1..m):

for i to m do

if i<nomer_zavis_koord then

pogr_X[i]:=pogr[i]:

else pogr_X[i]:=pogr[i+1]:

end if:

end do:

vector_beta:=ocenki_parametrov(viborka,nomer_zavis_koord):

for k to m do

for j to m do

for i to n do

pod_sum_vnutr[i]:=abs(2*matrica_X[i,k]*vector_beta[k,1]/(m-1) +matrica_X[i,j]*vector_beta[j,1]-

vektor_Y[i,1]/(m-1))*pogr_X[k] +abs(matrica_X[i,k]*vector_beta[j,1])*pogr_X[j]:

end do:

summa_vnutr[j]:=sum('pod_sum_vnutr[ii]','ii'=1..n):

end do:

sum_vnesh[k]:=sum('summa_vnutr[jj]','jj'=1..k-1)+sum('summa_vnutr[jj]','jj'=k+1..m):

for c to n do

pod_summa_2[c]:=abs(matrica_X[c,k]):

end do:

summa_2[k]:=sum('pod_summa_2[d]','d'=1..n)*pogr_Y:

summa[k]:=(sum_vnesh[k]+summa_2[k])/n:

end do:

otv:=summa:

end proc:

Final

> interval_znachen_param:=proc(viborka,nomer_zavis_koord,pogr)

Local razmer,massiv_interv_koeff,parametric,notna,i:

global interv:

razmer:=ColumnDimension(viborka)-1:

massiv_interv_koeff:=array(1..razmer):

interv:=Matrix(1..razmer,1..2):

parametri:=ocenki_parametrov(viborka,nomer_zavis_koord,pogr):

notna:=notna_ocenki_parametrov(viborka,nomer_zavis_koord,pogr):

for i to razmer do

massiv_interv_koeff[i]:=parametri[i,1]:

interv[i,1]:=massiv_interv_koeff[i]-notna[i]:

interv[i,2]:=massiv_interv_koeff[i]+notna[i]:

end do:

interv:

end proc:

> generator_viborki:=proc(DIGITS,obem_vibork,distrib,parametr)

global VIBORK:

local i:

Digits:=DIGITS:

VIBORK:=array(1..obem_vibork):

if distrib=NORMAL then

for i to obem_vibork do

VIBORK[i]:=stats[random, normald[0,parametr]](1):

end do:

VIBORK:

end if:

end proc:

> real_viborka:=proc(DIGITS,kol_razb,distrib,parametr,model)

global mass_Y,mass_X1,mass_X2:

local oshibki,nom,i,j:

mass_Y:=array(1..(kol_razb+1)^2):

mass_X1:=array(1..(kol_razb+1)^2):

mass_X2:=array(1..(kol_razb+1)^2):

oshibki:=generator_viborki(DIGITS,(kol_razb+1)^2,distrib,parametr):

nom:=0:

for i from 0 to kol_razb do

for j from 0 to kol_razb do

nom:=nom+1:

mass_Y[nom]:=eval(model,{x1=i/kol_razb,x2=j/kol_razb})+oshibki[nom]:

mass_X1[nom]:=evalf(i/kol_razb):

mass_X2[nom]:=evalf(j/kol_razb):

end do:

end do:

mass_Y:

end proc:

> okrug_real_viborka:=proc(DIGITS,digits_okrug,kol_razb,distrib,

parametr,model)

global VIB:

local okrug_mass_Y,okrug_mass_X1,okrug_mass_X2:

Digits:=digits_okrug:

okrug_mass_Y:=array(1..(kol_razb+1)^2):

okrug_mass_X1:=array(1..(kol_razb+1)^2):

okrug_mass_X2:=array(1..(kol_razb+1)^2):

VIB:=Matrix(1..(kol_razb+1)^2,1..3):

okrug_mass_Y:=real_viborka(DIGITS,kol_razb,distrib,parametr,model):

okrug_mass_X1:=mass_X1:

okrug_mass_X2:=mass_X2:

for i to (kol_razb+1)^2 do

VIB[i,1]:=okrug_mass_Y[i]:

VIB[i,2]:=okrug_mass_X1[i]:

VIB[i,3]:=okrug_mass_X2[i]:

end do:

VIB:

end proc:

> with(plots):

grafic_ocenok:=proc(DIGITS,digits_okrug,kol_razb,distrib,parametr,model,pogr,perek)

global ViBVreM,INTERVAL:

local gg1n,gg1v,s, gg2n,gg2v,ggg1n,g1, ggg2n,g2,g21,

ggg2v,g22,ggg1v:

gg1n:=array(2..kol_razb):

gg1v:=array(2..kol_razb):

for s from 2 to kol_razb do

ViBVreM:=okrug_real_viborka(DIGITS,digits_okrug,s,distrib,parametr,model):

INTERVAL:=interval_znachen_param(ViBVreM,1,pogr):

gg1n[s]:=INTERVAL[1,1]:

gg1v[s]:=INTERVAL[1,2]:

gg2n[s]:=INTERVAL[2,1]:

gg2v[s]:=INTERVAL[2,2]:

end do:

ggg1n:=[seq([b,gg1n[b]],b=2..kol_razb)]:

g1:=plot(ggg1n,'colour'='blue',legend="Нижня межа");

ggg1v:=[seq([b,gg1v[b]],b=2..kol_razb)]:

g2:=plot(ggg1v,'colour'='green',legend="Верхня межа");

ggg2n:=[seq([b,gg2n[b]],b=2..kol_razb)]:

g21:=plot(ggg2n,'colour'='blue',legend="Нижня межа");

ggg2v:=[seq([b,gg2v[b]],b=2..kol_razb)]:

g22:=plot(ggg2v,'colour'='green',legend="Верхня межа");

if perek =1 then

gt:=plot(2,t=0..kol_razb,'colour'='red',legend="Істинне значення"):

display([g1,g2,gt],'title'="Обчислення першого коефіціента регресіі",'titlefont'=[TIMES,BOLD,18]):

else

gt:=plot(-4,t=0..kol_razb,'colour'='red',legend="Істинне значення"):

display([g21,g22,gt],'title'="Обчислення другого коефіціента регресіі",'titlefont'=[TIMES,BOLD,18]):

end if:

end proc:

 


Информация о работе «Регресійний аналіз інтервальних даних»
Раздел: Математика
Количество знаков с пробелами: 33827
Количество таблиц: 0
Количество изображений: 56

Похожие работы

Скачать
66342
16
14

... іжності між емпіричними і теоретичними частотами розподілу не можуть бути випадковими і припущення про близькість емпіричного розподілу до нормального повинна бути спростоване. Розділ 3. Кореляційний аналіз виробництва льоноволокна Одним з найважливіших завдань статистики є вивчення об'єктивно існуючих зв'язків між явищами. При дослідженні таких зв'язків з'ясовуються причинно-наслідкові ві ...

Скачать
51883
19
6

... ідного індексу, а абсолютні величини змін валового збору за рахунок даного фактора — як різницю чисельника і знаменника відповідного індексу. 2.  СТАТИСТИЧНИЙ АНАЛІЗ УРОЖАЙНОСТІ ТЕХНІЧНИХ КУЛЬТУР   2.1 Аналіз рівня та факторів урожайності методом аналітичного групування Групування — невід'ємний елемент зведення, його найважливіший етап. Це процес утворення груп одиниць сукупності, однорідних ...

Скачать
63966
16
5

... лінію регресії (рис.4). Рис 4. Кореляційне поле залежності урожайності цукрових буряків від якості ґрунту Розділ IV. Динаміка та прогнозування урожайності цукрових буряків 4.1 Перспективи розвитку урожайності цукрових буряків в господарствах Андрушівського району Рядом динаміки називається тимчасова послідовність значень статистичних показників. Ряд динаміки складається із ...

Скачать
89411
23
2

... курсової роботи виступають річні звіти за 2004, 2005, 2006 роки, матеріали статистичної звітності та економічний паспорт ВАТ "Сонячне" Тарутинського району Одеської області 1.1.            Значення, завдання та джерела даних для економіко-статистичного аналізу собівартості продукції тваринництва.   Одним із найважливіших показників роботи підприємства та галузі економіки в цілому є собівартість ...

0 комментариев


Наверх