質問:
線形回帰で0の切片を強制することが許容/推奨される場合
Zack Newsham
2014-06-10 00:12:36 UTC
view on stackexchange narkive permalink

さまざまな要因に基づいて、プロセスの完了時間を見積もるための回帰モデルがあります。私はこれらのプロセスを200回試行しましたが、測定される9つの要因は大きく異なります。明示的な切片なしで9因子(およびすべての2因子と3因子の交互作用)の線形回帰を実行すると、0.915の調整済みR $ {^ 2} $が得られます。切片を強制的に0にすると、調整済みになります。 0.953のR $ {^ 2} $。

切片を0に強制する意図は、非常に短い時間(< 1秒)で完了した試行が< 0の予測をもたらさないようにすることでした。切片を0に設定しても、役に立ちませんでした。

つまり、私の質問は3つあります。 1)切片を強制することが許容/推奨されるのはいつですか?2)改善されたR $ {^ 2} $は、実際にモデルがより適切であることを意味しますか(適合対測定のプロットはより良く見えました)?3)ありますか近似値がすべて> 0であることを確認する方法は?

[線形モデルで統計的に有意な切片切片項ブースト$ R ^ 2 $を削除](http://stats.stackexchange.com/q/26176/)もお読みください。
前のコメントで参照されたものの1つの複製として、このスレッドを閉じるためのいくつかの投票があります。これらの投票は、(1)および(2)に基づいて有効ですが、(3)は新しく見えます。したがって、回答者は3番目の質問に焦点を当てることを提案したいと思います。
他の質問とのクロスオーバーについてお詫びしますが、リンクされている質問を含め、探していた質問は、常に正の値を期待する場所などの詳細に対応していなかったことがわかりました。それが最も重要なので、3番目のポイントです。
8 答え:
Glen_b
2014-06-10 04:06:55 UTC
view on stackexchange narkive permalink

切片を適合させないことは珍しく、一般的にはお勧めできません。0であることがわかっている場合にのみ適合させる必要がありますが、(そして$ R ^ 2 $を適合の有無で比較できないという事実)インターセプト)はすでに十分にカバーされています(インターセプトが0の場合は少し誇張されている可能性があります)。答えの一部で0切片の問題に戻りますが、近似関数が正である必要があるという主な問題に焦点を当てたいと思います。

常に取得するための最良の方法ポジティブフィットとは、常にポジティブになるものにフィットすることです。部分的には、どの関数を適合させる必要があるかによって異なります。

線形モデルが主に便利なものである場合(たとえば、物理モデルに由来する可能性のある既知の関数関係からではなく)、代わりにlog-timeで機能する可能性があります。適合モデルは、$ t $で正であることが保証されます。別の方法として、時間ではなく速度で作業する場合もありますが、線形近似では、代わりに低速(長時間)で問題が発生する可能性があります。

応答が予測子で線形であることがわかっている場合は、 制約付き回帰の適合を試みることができますが、重回帰では、必要な正確な形式は特定のxに依存します(すべての$ x's $に対して機能する線形制約は1つではありません)。ビットアドホック。

非負の近似値を持つモデルを近似するために使用でき、(必要に応じて)$ E(Y)= X \ beta $を持つこともできるGLMを確認することもできます。 。

たとえば、IDリンクを使用してガンマGLMを適合させることができます。 xのいずれにも負の近似値が表示されることはありません(ただし、実際には収まらない場所にIDリンクを強制すると、場合によっては収束の問題が発生する可能性があります)。

例:Rの cars データセット。速度と停止距離(応答)を記録します。

enter image description here

「ああ、でも速度0の距離は0であることが保証されているので、切片を省略する必要があります」と言う人もいるかもしれませんが、その理由の問題は、モデルがいくつかの方法で誤って指定されており、その引数がうまく機能することです。モデルが誤って指定されていない場合は十分です。この場合、切片が0の線形モデルはまったく適合しませんが、切片のある線形モデルは、実際には「正しく」はありませんが、実際には半分まともな近似です。

問題は、通常の線形回帰を当てはめると、当てはめられた切片がかなり負になり、当てはめられた値が負になることです。

青い線はOLSフィットです。データセット内の最小のx値の近似値は負です。赤い線は、アイデンティティリンクを使用したガンマGLMです。負の切片がありますが、正の近似値しかありません。このモデルの分散は平均に比例するため、予想時間が長くなるにつれてデータがより分散していることがわかった場合は、特に適している可能性があります。

これは、試してみる価値のある代替アプローチの1つです。 Rで回帰を当てはめるのとほぼ同じくらい簡単です。

IDリンクが必要ない場合は、変換に関連するログリンクや逆リンクなどの他のリンク関数を検討することをお勧めします。すでに説明しましたが、実際の変換は必要ありません。


人々は通常それを求めるので、ここに私のプロットのコードがあります:

  plot(dist〜speed、data = cars、xlim = c(0、 30)、ylim = c(-5,120))abline(h = 0、v = 0、col = 8)abline(glm(dist〜speed、data = cars、family = Gamma(link = identity))、col = 2 、lty = 2)abline(lm(dist〜speed、data = cars)、col = 4、lty = 2) 

(楕円は後で手作業で追加されましたが、簡単です。 Rでも行う)

答えてくれてありがとう、ガンマ関数とアブライン関数の目的について少し混乱しています。データに対して同じコマンドを実行しようとすると、「130の回帰係数の最初の2つだけを使用する」という結果になります。私のモデルが「dist〜speed」よりも複雑であることはありません。9つの要素があり、現在3つの要素の交互作用すべてを使用しています。 abline関数をプロットしようとすると、0に垂直線が表示されます。モデルを単純化して(そしてログリンクを使用して)水平に近い線も取得しました。上記の方法を使用してこのデータを解釈するにはどうすればよいですか?
`abline`は、傾き(a)と切片(b)を指定すると線を引きます。適合した単純線形モデルを渡すと、そこからそれらが抽出されます。複数の予測子がある場合*線を引くことはできません*(それはどのように機能しますか?線を合わせませんでした)。私は、GLMを使用するという私の提案を説明していました。そうすれば、GLMが何をするのかを確認でき、従うべきレシピは提供されません。あなたのデータがどのように配置されているのかわからないので、あなたのフィットで何がうまくいかなかったのかについてアドバイスを与えるのは難しいです。 GLMの適合は、ほとんどすべての統計パッケージに回帰を適合させるのとほぼ同じくらい簡単です。他のことに慣れている場合は、それを使用してください。
kjetil b halvorsen
2014-06-10 00:30:50 UTC
view on stackexchange narkive permalink

タイトルの質問に対する短い回答:(ほとんど)決して。線形回帰モデル $$ y = \ alpha + \ beta x + \ epsilon $$ span>で、 $$を設定した場合alpha = 0 $ span>の場合、 $ xが与えられた場合の $ y $ span>の期待値を知っていると言います。 = 0 $ span>はゼロです。

$ R ^ 2 $ span>は、モデルが優れているためではなく、 $ R ^ 2 $ span>は別のものです! $ R ^ 2 $ span>は、推定モデルと標準モデルの比較の式であり、標準モデルの二乗和と比較した二乗和の減少として表されます。 。切片のあるモデルでは、二乗の比較合計は平均の周りにあります。切片がなければ、ほぼゼロです!最後のものは通常はるかに高いので、二乗和を大幅に減らすのは簡単です。

結論:インターセプトをモデルから外さないでください(本当に、本当に自分が何をしているかを知っている場合を除きます)。 )。

編集(以下のコメントから):1つの例外がコメントの他の場所で言及されています(ただし、これは一見例外であり、定数ベクトル1は計画行列 $ X $ span>。それ以外の場合、定数がない物理的な関係 $ s = vt $ span>など。ただし、それでも、モデルは概算にすぎないため(速度は実際には一定ではありません)、解釈できない場合でも定数のままにしておく方がよい場合があります。非線形モデルでは、これがより問題になります。

しかし、確かに、9つの因子がこのようになっているとき、実際の時間は0(またはそれに近い)であるというデータがあるということは、X = 0、Y = 0のときはかなり確信しているということですか?
あなたの場合、完了時間はマイナスになり得ないことを知っています、はい。それで、線形モデルはおそらく適切ではありませんか?他のモデル、生存分析、または正の実数直線上の分布を持つGLMを試してください(ガンマ分布、ワイブル分布...)
コメントの別の場所で1つの例外が言及されています(ただし、これは一見例外にすぎません。定数ベクトル1は、回帰行列$ X $の列空間にあります。それ以外の場合、物理的関係$ s = vt $のように、定数はありません。 。しかし、それでも、モデルが概算である(速度が実際には一定ではない)場合は、解釈できない場合でも定数のままにしておく方がよい場合があります。非線形モデルでは、これはより問題になります。
R ^ 2の計算では、モデルに切片が含まれているかどうかに関係なく、比較モデルは常に平均の周りにあり、ゼロの周りにはありません。したがって、エラーをより簡単に減らすことについてのあなたの議論は誤りです。
AdamO
2014-06-10 00:27:24 UTC
view on stackexchange narkive permalink

1)結果と予測子が実際にグループ間の差異を計算する非常にまれなタイプのDiDモデルを除いて、切片を抑制することは決して受け入れられません(これはあなたには当てはまりません)。

2)。いいえ、そうではありません。つまり、内部の妥当性は高いかもしれませんが(たとえば、モデルがデータに適合している)、おそらく外部の妥当性は低い(たとえば、モデルは同様の条件下で得られた実験データの適合が不十分)。これは一般的に悪いことです。

3)切片を抑制しても必ずしもそうなるとは限りませんが、予測子は連続的に評価されたと思います。多くの場合、プロセスの完了時間は、逆変換を使用して分析されます。 $ x = 1 / t $ここで、$ t $はプロセスを完了するのにかかる時間です。逆変換されたデータの平均の逆数は調和平均と呼ばれ、タスクの平均完了時間を表します。

$$ \ mbox {HM} = \ frac {1} {\ mathbb {E}(x)} = \ frac {1} {\ mathbb {E}(1 / t)} $$

完了時間を予測するために特別に構築されたモデルのタイプである、パラメトリック指数モデル、ガンマモデル、またはワイブルイベントまでの時間モデルを使用することもできます。これらは、逆変換された結果と非常によく似た結果をもたらします。

インターセプトを**決して**抑制できないと述べるのは少し強いと思います。通常の$ k-1 $の代わりに$ k $ダミーグループをコーディングする必要がある場合はどうなりますか?
あなたが言及した例では、まだ$ k $の効果を推定しています。 OPの質問は、2対1の効果の問題です(* avec *切片と* sans *切片、連続予測子)。
user777:はい、しかしそれは非常に特定の場合にのみ機能します。たとえば、2つのグループに相互分類されている場合、あなたのトリックは機能しません。
@AdamO(1)にリストした1つの例外が、「決して」の唯一の可能な例外であると本当に言っているのですか、それとも、それがあなたが知っている唯一の例外であることを意味しますか?
@Glen_bインターセプトスルーオリジンの指定が他の方法で意味をなす場合、私は本当に良い例を考えることができません。停止距離の分析や、一部の基板に触媒を適用した後の化学組成などの非常に実用的な状況でも、ゼロ以外の原点を通過する切片は、測定エラー、キャリブレーションの問題、タイミングの問題などの処理に役立ちます。私が分析を行ってきた何年もの間、インターセプトがとる値が意味をなさない場合でも、インターセプトを適合させる理由を常に見てきました。
その時、実質的な意見の相違はないようです。
@Glen_bは、切片が問題の科学と矛盾する値と交差し、95%のCIが問題の科学と*一貫性のある*値を*含まない*場合、それについて考えます。あなたはもっと信頼しますか?切片の実際の値(推定されているため)の影響を受けないもの、または線が交差する必要があるという推論と強い仮定に基づいて測定および外挿されたことがない非現実的な値によって歪められているもの(0、0 )。
@Glen_b同意します。この問題にはさまざまな宗派があると思いますが、私はたまたま特に熱心な品種です:)
PA6OTA
2014-06-10 09:10:38 UTC
view on stackexchange narkive permalink

1)$ 0 $インターセプトを強制することは、それが0であることがわかっている場合に推奨されます。事前に知っていることはすべて、モデルで使用する必要があります。

1つ例は、宇宙膨張のハッブルモデルです(統計的探偵で使用):

$$ \ mbox {Galaxy Speed} = k(\ mbox {Distance from Earth}) $$

このモデルはかなり粗雑ですが、ビッグバン理論の結果として0切片を使用します。時間$ 0 $では、すべての問題が1か所にあります。

一方、説明しているモデルには切片項が必要になる可能性があります。

2)$ R ^ 2_ {adj} $が良くなる場合と得られない場合があります。または、次のテストでnull仮説を受け入れる場合があります。切片は0ですが、これらの両方が切片項を削除する理由ではありません。

3)回答の積極性を確保するために、応答変数を変換できる場合があります。データによっては、ログまたはsqrtが機能する場合があります。もちろん、残差を確認する必要があります。

これは非常に特殊なケースです。ほとんどのアプリケーションはこのようではありません。
Christoph Hanck
2015-12-29 18:31:18 UTC
view on stackexchange narkive permalink

Engle / Granger共和分テストの第2段階で切片を除外することは理にかなっています(実際には必要です)。この検定では、最初に、定数(および場合によっては傾向)と他の非定常変数に対するいくつかの従属変数の回帰を介して、候補の共和分関係を推定します。

第2段階では、その回帰の残差が単位根についてテストされ、エラーが実際に平衡関係を表しているかどうかがテストされます。第1段階の回帰には定数が含まれているため、残差は構造上平均ゼロです。したがって、第2段階の単位根検定は定数を必要とせず、実際、その単位根検定の限界分布は、この定数が実際に適合されていないと仮定して導出されます。

IrishStat
2014-06-10 14:38:07 UTC
view on stackexchange narkive permalink

すべての近似値をゼロより大きく制約することを私が知っている唯一の方法は、線形計画法を使用し、それを制約として指定することです。

そうではありません。ポアソン回帰と対数リンクのある一般化線形モデルは、すべての正の予測値を返します。 @Glen_bはすでに彼の答えでこの点を指摘しています。
@Nick ...確かに...ポアソン変数は0によって制限されているので、これはそうです。ありがとう...
Ricardo Marques
2016-09-23 21:04:13 UTC
view on stackexchange narkive permalink

実際の問題は、切片= 0を強制する線形回帰が数学的な矛盾であり、決して実行してはならないことです。

y = a + bxの場合、average(y)= a + average(x)であり、実際、Excelで線形推定を使用してaとbを推定すると、上記の関係が得られることは容易に理解できます。

ただし、任意にa = 0にすると、必然的にb =平均(y)/平均(x)。しかし、これは最小二乗アルゴリズムと矛盾しています。実際、Excelで線形推定を使用してbを推定すると、上記の関係が満たされないことが簡単にわかります。

実際に$ a = 0 $の場合、「数学的な矛盾」はなく、$ a $をゼロに設定することは恣意的ではなく、最小二乗法で問題がない場合、あなたの議論は崩壊しているように見えます。
Curious
2014-06-10 17:29:41 UTC
view on stackexchange narkive permalink

カテゴリカル共変量を持つモデルでは、ほとんど意味があります。この場合、切片を削除すると、パラメーター化が異なる同等のモデルになります。

  > data(mtcars)> mtcars $ cyl_factor <- as.factor(mtcars $ cyl)> summary( lm(mpg〜cyl_factor、data = mtcars))Call:lm(formula = mpg〜cyl_factor、data = mtcars)残差:最小1Q中央値3Q最大-5.2636 -1.8357 0.0286 1.3893 7.2364係数:推定標準エラーt値Pr(> | t |)(切片)26.6636 0.9718 27.437 < 2e-16 *** cyl_factor6 -6.9208 1.5583 -4.441 0.000119 *** cyl_factor8 -11.5636 1.2986 -8.905 8.57e-10 *** --- Signif 。コード:0 '***' 0.001 '**' 0.01 '*' 0.05 '。' 0.1 '' 1残留標準誤差:29自由度で3.223複数の決定係数:0.7325、調整済み決定係数:0.714 F統計: 2および29DFで39.7、p値:4.979e-09> summary(lm(mpg〜0 + cyl_factor、data = mtcars))Call:lm(formula = mpg〜0 + cyl_factor、data = mtcars)残差:最小1Q中央値3Q最大-5.2636-1.8357 0.0286 1.3893 7.2364係数:推定標準エラーt値Pr(> | t |)cyl_factor4 26.6636 0.9718 27.44 < 2e-16 *** cyl_factor6 19.7429 1.2182 16.21 4.49e-16 *** cyl_factor8 15.1000 0.8614 17.53 < 2e-16 *** ---有意。コード:0 '***' 0.001 '**' 0.01 '*' 0.05 '。' 0.1 '' 1残留標準誤差:29自由度で3.223複数の決定係数:0.9785、調整済み決定係数:0.9763 F統計量: 3および29DFの440.9、p値:< 2.2e-16  

2番目の例では、実際にはカテゴリ変数がカテゴリ固有の切片であるため、実際には切片は実際には削除されていません。削除されたようです。

これは本当に質問に関連していますか? 2番目のモデルで切片をゼロに強制するだけでなく、Rに、カテゴリカル予測子の参照レベルのコーディングではなく、ゼロへの合計を使用するように促します。
実際、それは逆です。「カテゴリカル共変量を持つモデルでは、あまり意味がありません。切片をゼロに強制すると思われるコードを試してみると、Rは単にモデルを再パラメーター化するだけだと想定します。」正しいでしょう。
お二人とも言葉で遊ぶだけです。 `lm`の` 0 + `または` -1`の通常の理解は、実際に行う*グローバル*インターセプトを削除することです。ところで、私はあなたが私の答えの最後の文で言っているのとまったく同じことを言っているので、なぜ誰かが反対票を投じたのか私は本当にわかりません。
(私は一人で、反対票を投じています。) `+ 0`は** 2つのまったく異なること**を行うことができます。 `cyl`の$ x_1 $と$ x_2 $のダミーを手動で0または1としてコーディングする場合、それを使用すると、切片がゼロになり、2パラメーターモデル$ \ operatorname {E} Y = \ beta_1x_1に適合します。 + \ beta_2 x_2 $。しかし、Rが `cyl_factor`のカテゴリであると言われた場合、それは巧妙になり、あなたが説明する3パラメータモデルに適合します。したがって、「切片の削除」はあいまいです。今、私はこれをすべて知っています、そしてあなたはこれをすべて知っています、しかしIMOはそうでない誰かにとって答えが不明確です-潜在的に誤解を招く-。


このQ&Aは英語から自動的に翻訳されました。オリジナルのコンテンツはstackexchangeで入手できます。これは、配布されているcc by-sa 3.0ライセンスに感謝します。
Loading...