このコードのチャンクはhttp://rosettacode.org/wiki/Multiple_regression#Pythonで見つかりました。これは、Pythonで重回帰を実行します。次のコードでbを印刷すると、x1、...、xNの係数が得られます。ただし、このコードは原点を通る線に適合しています(つまり、結果のモデルには定数が含まれていません)。
私がやりたいのは、原点を通る線をフィットさせたくないことを除いて、まったく同じことです。結果のモデルに定数が必要です。
これを行うための小さな変更であるかどうか、何か考えはありますか?私はPythonでの重回帰に関する多数のドキュメントを検索して見つけましたが、それらは長く、必要なものに対して過度に複雑です。このコードは完璧に機能しますが、原点ではなく切片に適合するモデルが必要な場合を除きます。
import numpy as np
from numpy.random import random
n=100
k=10
y = np.mat(random((1,n)))
X = np.mat(random((k,n)))
b = y * X.T * np.linalg.inv(X*X.T)
print(b)
どんな助けでもいただければ幸いです。ありがとう。