アットウィキロゴ

大和

def sigma(n,ff):
 
    z1=y1[n]-alpha[1]-beta[1]*ff
    z2=y2[n]-alpha[1]-beta[2]*ff
    z3=y3[n]-alpha[1]-beta[3]*ff
    z4=y4[n]-alpha[1]-beta[4]*ff
    z5=y5[n]-alpha[1]-beta[5]*ff
    z6=y6[n]-alpha[1]-beta[6]*ff
 
    e=0
    e=e+z1*z1+z2*z2+z3*z3+z4*z4
    e=e+z5*z5+z6*z6
 
    return e
 
def ols(yy,xx):
 
    global a,b
 
    a11=100
    a12=0
    for x2 in xx:
        a12=a12+x2
    a21=a12
    a22=0
    for x2 in xx:
        a22=a22+x2*x2
    b1=0
    b2=0
    for i in range(100):
        b1=b1+yy[i]
        b2=b2+yy[i]*xx[i]
 
    z=a21/a11
    a22=a22-z*a12
    b2=b2-z*b1
    z=a12/a22
    b1=b1-z*b2
 
    a=b1/a11
    b=b2/a22
 
 
 
f = open('data.csv', 'r',encoding='UTF-8')
 
x=[] 
for line in f:
    x.append(line)
 
f.close()
 
y1=[]
y2=[]
y3=[]
y4=[]
y5=[]
y6=[]
for x1 in x:  
    x2=x1.split(",")
    c=int(x2[0])
    y1.append(c)
    c=int(x2[1])
    y2.append(c)
    c=int(x2[2])
    y3.append(c)
    c=int(x2[3])
    y4.append(c)
    c=int(x2[4])
    y5.append(c)
    d=x2[5].replace("\n","")
    c=int(d)
    y6.append(c)
 
f=[]
for i in range(100):
    f1=y1[i]+y2[i]+y3[i]
    f1=f1+y4[i]+y5[i]+y6[i]
    f.append(f1/6)
 
alpha=[]
beta=[]
alpha.append(0)
beta.append(0)
ols(y1,f)
alpha.append(a)
beta.append(b)
 
ols(y1,f)
alpha.append(a)
beta.append(b)
 
ols(y2,f)
alpha.append(a)
beta.append(b)
 
ols(y3,f)
alpha.append(a)
beta.append(b)
 
ols(y4,f)
alpha.append(a)
beta.append(b)
 
ols(y5,f)
alpha.append(a)
beta.append(b)
 
ols(y6,f)
alpha.append(a)
beta.append(b)
 
for tr in range(5):
 
    for i in range(100):
        mink=9999999
        sxs=0
        for j in range(200):
            k=sigma(i,j)
            if k<mink:sxs=j
            if k<mink:mink=k
        f[i]=sxs
 
    print(f)
 
    ols(y1,f)
    alpha[1]=a
    beta[1]=b
 
    ols(y2,f)
    alpha[2]=a
    beta[2]=b
 
    ols(y3,f)
    alpha[3]=a
    beta[3]=b
 
    ols(y4,f)
    alpha[4]=a
    beta[4]=b
 
    ols(y5,f)
    alpha[5]=a
    beta[5]=b
 
    ols(y6,f)
    alpha[6]=a
    beta[6]=b
 
最終更新:2018年05月29日 03:02