NumPyで分析
• 単回帰分析(YとX1)
次に決定係数を求める푅 = 1 −
1
푁
푁 푦푛− 푎 푥푛+푏
푛=1
2
1
푁
푁 푦푛−푦 2
푛=1
Y2temp = Y-Y.mean()
Y2 = numpy.average([float(Y2temp[i]**2) for i in range(7)])
Y1temp = [f.y[i] - (a*x1[i] + b) for i in range(7)]
Y1 = numpy.average([Y1temp[i]**2 for i in range(7)])
R = 1 – Y1/Y2 表示:
>>> R
0.62777085927770859
26.
NumPyで分析
• 重回帰分析(YとX)
핐 = 핏Βより、Β = 핏−1핐なので、
print X.I * Y
StatsModelsで求めたものと比較しても、正しいことが分かる
A = float((X.I * Y)[0])
B = float((X.I * Y)[1])
C = float((X.I * Y)[2])
と代入して進める
表示:
matrix([[ 1.40758392],
[ 0.17343556],
[ 1.61085785]])
27.
NumPyで分析
• 重回帰分析(YとX)
次に決定係数を求める푅 = 1 −
1
푁
푁 푦푛− 푎 푥1푛+푏 푥2푛+푐
푛=1
2
1
푁
푁 푦푛−푦 2
푛=1
Y2temp = Y-Y.mean()
Y2 = numpy.average([float(Y2temp[i]**2) for i in range(7)])
Y1temp = [f.y[i] - (A*x1[i] + B*x2[i] + C) for i in range(7)]
Y1 = numpy.average([Y1temp[i]**2 for i in range(7)])
R = 1 – Y1/Y2 表示:
>>> R
0.69104351997456703