切片を適合させないことは珍しく、一般的にはお勧めできません。0であることがわかっている場合にのみ適合させる必要がありますが、(そして$ R ^ 2 $を適合の有無で比較できないという事実)インターセプト)はすでに十分にカバーされています(インターセプトが0の場合は少し誇張されている可能性があります)。答えの一部で0切片の問題に戻りますが、近似関数が正である必要があるという主な問題に焦点を当てたいと思います。
常に取得するための最良の方法ポジティブフィットとは、常にポジティブになるものにフィットすることです。部分的には、どの関数を適合させる必要があるかによって異なります。
線形モデルが主に便利なものである場合(たとえば、物理モデルに由来する可能性のある既知の関数関係からではなく)、代わりにlog-timeで機能する可能性があります。適合モデルは、$ t $で正であることが保証されます。別の方法として、時間ではなく速度で作業する場合もありますが、線形近似では、代わりに低速(長時間)で問題が発生する可能性があります。
応答が予測子で線形であることがわかっている場合は、 制約付き回帰の適合を試みることができますが、重回帰では、必要な正確な形式は特定のxに依存します(すべての$ x's $に対して機能する線形制約は1つではありません)。ビットアドホック。
非負の近似値を持つモデルを近似するために使用でき、(必要に応じて)$ E(Y)= X \ beta $を持つこともできるGLMを確認することもできます。 。
たとえば、IDリンクを使用してガンマGLMを適合させることができます。 xのいずれにも負の近似値が表示されることはありません(ただし、実際には収まらない場所にIDリンクを強制すると、場合によっては収束の問題が発生する可能性があります)。
例:Rの cars
データセット。速度と停止距離(応答)を記録します。
「ああ、でも速度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でも行う)