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:
... іжності між емпіричними і теоретичними частотами розподілу не можуть бути випадковими і припущення про близькість емпіричного розподілу до нормального повинна бути спростоване. Розділ 3. Кореляційний аналіз виробництва льоноволокна Одним з найважливіших завдань статистики є вивчення об'єктивно існуючих зв'язків між явищами. При дослідженні таких зв'язків з'ясовуються причинно-наслідкові ві ...
... ідного індексу, а абсолютні величини змін валового збору за рахунок даного фактора — як різницю чисельника і знаменника відповідного індексу. 2. СТАТИСТИЧНИЙ АНАЛІЗ УРОЖАЙНОСТІ ТЕХНІЧНИХ КУЛЬТУР 2.1 Аналіз рівня та факторів урожайності методом аналітичного групування Групування — невід'ємний елемент зведення, його найважливіший етап. Це процес утворення груп одиниць сукупності, однорідних ...
... лінію регресії (рис.4). Рис 4. Кореляційне поле залежності урожайності цукрових буряків від якості ґрунту Розділ IV. Динаміка та прогнозування урожайності цукрових буряків 4.1 Перспективи розвитку урожайності цукрових буряків в господарствах Андрушівського району Рядом динаміки називається тимчасова послідовність значень статистичних показників. Ряд динаміки складається із ...
... курсової роботи виступають річні звіти за 2004, 2005, 2006 роки, матеріали статистичної звітності та економічний паспорт ВАТ "Сонячне" Тарутинського району Одеської області 1.1. Значення, завдання та джерела даних для економіко-статистичного аналізу собівартості продукції тваринництва. Одним із найважливіших показників роботи підприємства та галузі економіки в цілому є собівартість ...
0 комментариев