Lineer Dağılımlı Ağırlıklandırılmış Ölçü Çifti için Ki-Kare Testi

Lineer dağılımlı ağırlıklandırılmış bir gözlem çiftine ilişkin herhangi bir kütüphane kullanılmadan oluşturulmuş Ki-Kare testi

list=[]
sigmaCi = []
sigma1 = []
Wi = []
lst = []
wixi = []
WX = []
wici = []
WC = []
wixi2 = []
WX2 = []
wixici = []
WXC = []
parent = []
chikarevek = []


dosya = open("veri.txt","r")
for satir in dosya:
    list.append([float(x) for x in satir.split()])
    Xi = [x[0] for x in list]
    Ci = [x[1] for x in list]

n = len (Xi)

def esitle(esitlenen, esitlenecek):
    for num in range(n):
        esitlenecek.append(esitlenen[num])

def sigma(Ci,sigmaCi):
    for num in range(n):
        sigma1.append(Ci[num]**(0.5))
    esitle(sigma1,sigmaCi)
    return

def wi(Ci,Wi):
    for num in range(n):
        lst.append(1/((sigmaCi[num])*(sigmaCi[num])))
    esitle(lst, Wi)
    return

def WiXi(Wi,Xi,wixi):
    for num in range(n):
        WX.append(Wi[num]*Xi[num])
    esitle(WX,wixi)
    return

def WiCi(Wi,Ci,wici):
    for num in range(n):
        WC.append(Wi[num]*Ci[num])
    esitle(WC,wici)
    return

def WiXi2(Wi,Xi,wixi2):
    for num in range(n):
        WX2.append(Wi[num]*(Xi[num]**2))
    esitle(WX2,wixi2)
    return

def WiXiCi(Wi,Xi,Ci,wixici):
    for num in range(n):
        WXC.append(Wi[num]*Xi[num]*Ci[num])
    esitle(WXC,wixici)
    return


def straightline(akts, bkts, xdeg):
    for num in range(n):
        parent.append(akts + bkts * xdeg[num])
    return


def chisquare(meas, parent, sig):
    for num in range(n):
        chikarevek.append(((meas[num] - parent[num]) / sig[num]) * ((meas[num] - parent[num]) / sig[num]))
    return

sigma(Ci,sigmaCi)
wi(Ci,Wi)
WiXi(Wi,Xi,wixi)
WiCi(Wi,Ci,wici)
WiXi2(Wi,Xi,wixi2)
WiXiCi(Wi,Xi,Ci,wixici)

Wisum = sum (Wi)
WiXi2sum = sum (wixi2)
WiXisum = sum (wixi)
WiCisum = sum (wici)
WiXiCisum = sum (wixici)

delta = (Wisum*WiXi2sum)-(WiXisum*WiXisum)

a = ((WiCisum*WiXi2sum)-(WiXisum*WiXiCisum))/delta
b = ((Wisum*WiXiCisum)-(WiXisum*WiCisum))/delta

sigma2a = WiXi2sum/delta
sigma2b = Wisum/delta

sigmaa= sigma2a**0.5
sigmab= sigma2b**0.5

straightline(a,b,Xi)

chisquare(Ci,parent,sigmaCi)

chikare = sum(chikarevek)
print(chikare)

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*