IT練習ノート

IT関連で調べたこと(実際は嵌ったこと)を書いています。

線形回帰サンプルコーディング

import numpy
import pandas
import statsmodels.api as sm

# データ読み込み
df = pandas.read_csv(csvファイル);
df['constant'] = 1

col = [独立変数のカラムの配列指定]

# 線形回帰分析
X = df[col]
y = df[説明変数のカラム名]
X = sm.add_constant(X)
model = sm.OLS(y, X).fit()
model.summary()
model.rsquared

col.insert(0,'constant')
df2 = df[col]

# 確認
prediction = []
for row_index, row in df2.iterrows():
       d = numpy.sum(model.params.values * df2.ix[row_index])
       prediction.append(d)