Cucco’s Compute Hack

コンピュータ関係の記事を書いていきます。

回帰直線を書いてみた

コード

import numpy as np
import matplotlib.pyplot as plt

x = list(range(0,31+1))
y = [28105,28070,27815,27680,27740,27470,27665,27635,27495,27315,27300,27285,27535,27635,27800,27845,27880,27830,27815,27775,27665,27865,27925,27745,28175,28195,28490,28660,28630,28735,29190,29640]

# フィッティング
a, b = np.polyfit(x, y, 1)
sv = np.std(y)

print(f"傾き={a}, 切片={b}, 標準偏差={sv}")

nx = np.array(x)

f=nx*a+b
# 1σ
fps=f+sv
fms=f-sv

plt.plot(x, y, '.', x,f,'k-',x,fps,'r-',x,fms,'b-')
plt.show()

結果

傾き=39.3154325513205, 切片=27347.01704545453, 標準偏差=528.5907478484063
f:id:Cucco:20210918171440p:plain