質問

私はr ^ 2(決算係数)の値を取得しています。(あなたの便宜のためにいくつかの間隔は取り除かれました)

In [1]: import pandas as pd       
In [2]: import numpy as np
In [3]: import statsmodels.api as sm
In [4]: import scipy.stats
In [5]: np.random.seed(100)
In [6]: x = np.linspace(0, 10, 100) + 5*np.random.randn(100)
In [7]: y = np.arange(100)

In [8]: slope, intercept, r, p, std_err = scipy.stats.linregress(x, y)

In [9]: r**2
Out[9]: 0.22045988449873671

In [10]: model = sm.OLS(y, x)
In [11]: est = model.fit()

In [12]: est.rsquared
Out[12]: 0.5327910685035413
.

ここで何が起こっているの?私はそれを理解することができません!どこかにエラーがありますか?

役に立ちましたか?

解決

0.2205はもintercept termを持つモデルから来ています - 傍受を取り除くと0.5328値は結果です。

基本的には、1つのパッケージは y= bx のモデリングですが、も傍受したことをであることを前提としています(つまり、 y= A +BX )。[注:この仮定の利点は、 x を撮影しなければならず、回帰を実行したいと思うたびに、 x を取り、1の列をバインドしなければならない(そうでなければバイアスモデル)]

チェックアウトこの記事<より長い議論のために/ a>。

頑張って!

他のヒント

これは答えられた元の質問に対する答えではありません。

定数なしの回帰中の四角形。

1つの問題は、代行受信なしの回帰がR ^ 2の標準定義を持たないことです。

本質的に、傍受を伴うモデルにおける適合度の良さとしてR乗り違いは、傍受のみを持つモデルと全モデルを比較します。フルモデルに傍受がない場合、R ^ 2の標準定義は否定的なR ^ 2のような奇妙な結果を生み出すことができます。

常限変数の合計依存変数の合計で、Demeanedの代わりに整流された回帰における従来の定義。定数の回帰の間のR ^ 2、そして実際には意味のある方法で比較することはできません。

STATSMODELSの変化を起動する問題は、r ^ 2「正しく」を順番に扱うためにr ^ 2「正式」を扱う問題: https://github.com/statsmodels/statsmodels/issues/785

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top