Rのpolr関数からの出力を理解する方法(順序付きロジスティック回帰)


26

私はRを初めて使い、ロジスティック回帰を注文しましたpolr

polr(ロジスティックまたはプロビット回帰モデルを順序付けられた因子応答に適合させる)のヘルプページの下部にある「例」セクションには、

options(contrasts = c("contr.treatment", "contr.poly"))
house.plr <- polr(Sat ~ Infl + Type + Cont, weights = Freq, data = housing)
pr <- profile(house.plr)
plot(pr)
pairs(pr)
  • どんな情報がpr含まれていますか?プロファイルのヘルプページは一般的なものであり、polrに関するガイダンスはありません。

  • 何がplot(pr)表示されていますか?6つのグラフが表示されます。ラベルはインジケータ変数です(順序値のインジケータである入力変数のように見えます)が、それぞれに数値のX軸があります。その場合、Y軸は「タウ」であり、これはまったく説明されていません。

  • 何がpairs(pr)表示されていますか?入力変数の各ペアのプロットのように見えますが、ここでもX軸またはY軸の説明はありません。

  • モデルが適切に適合したかどうかをどのように理解できますか? summary(house.plr)は、Residual Deviance 3479.149と3495.149のAIC(赤池情報量規準?)を示しています。いいですか?それらが相対的な尺度としてのみ有用な場合(つまり、別のモデルの適合と比較する場合)、優れた絶対尺度とは何ですか?残差はほぼカイ二乗分布ですか?元のデータまたは相互検証で「正しく予測された%」を使用できますか?それを行う最も簡単な方法は何ですか?

  • anovaこのモデルにどのように適用して解釈しますか?ドキュメントには、「predict、summary、vcov、anovaなど、標準のモデル適合関数のメソッドがあります」と書かれています。ただし、実行anova(house.plr)するとanova is not implemented for a single "polr" object

  • 各係数のt値をどのように解釈しますか?一部のモデル近似とは異なり、ここにはP値はありません。

これは多くの質問であることに気づきましたが、7つの異なる質問ではなく、1つのバンドル(「これをどのように使用しますか?」)として質問することは理にかなっています。どんな情報も感謝します。


3
@dfrankow最初の2つの質問はやや粗野で確かに非常に部分的なヘルプですがmethods("profile")、R profileオブジェクトに関連付けられた(この場合はS3)メソッドpolrを提供します。オンラインgetAnywhere("profile.polr")でRプロンプトに入力します。
-chl

1
ありがとう!ソースコードは良いです。説明はさらに良いでしょう。:)
dfrankow

1
誰かが私にVenablesとRipleyの「Sを使った最新の応用統計」を教えてくれました。セクション7.3には、このハウスモデルを広範囲にカバーする「四元周波数表の例」があります。読書..
dfrankow

実際のセクションでは、「比例オッズモデル」である
dfrankow

回答:


17

順序付きロジスティック回帰のより良い説明と理解については、カテゴリーデータ分析に関する本(Alan Agrestiのカテゴリーデータ分析、2002年を参照)を参照することをお勧めします。あなたが尋ねるすべての質問は基本的にそのような本のいくつかの章によって答えられます。R関連する例にのみ興味がある場合は、Julian FarawayによるRでの線形モデルの拡張(CRC Press、2008)が参考になります。

質問に答える前に、順序付きロジスティック回帰は、カテゴリが順序付けされている多項ロジットモデルの場合です。我々は仮定カテゴリを注文し、その個体のための序応答と、、 のために。順序付けられた応答を使用すると、多くの場合、累積確率を処理する方が簡単です。累積確率は増加し、隣接するカテゴリの結合に対して不変です。さらに、なので、モデル確率のみが必要です。、I Y 、I 、P 、I 、J = P Y I = J J = 1 J γ I J = P Y IJ γ I J = 1JYpj=PY=jj=1Jγj=PYjγJ=1J1

ここで、を共変量にリンクします。あなたのケースでは、3つのレベルを命じました:、、。順序付けられていないものではなく、順序付けられたものとして扱う方が理にかなっています。残りの変数は共変量です。検討している特定のモデルは比例オッズモデルであり、数学的に次と同等です。 XγjバツSatlowmediumhigh

ここで、  γ JX I= P Y IJ | X I

ロジット γjバツ=θjβTバツj=1J1
どこで γjバツ=PYj|バツ

と比較する相対オッズは次のとおりであるため、そう呼ばれます。X 1 X 2Yjバツ1バツ2

γjバツ11γjバツ1/γjバツ21γjバツ2=expβTバツ1バツ2

上記の式は依存しないことに注意してください。もちろん、特定のデータセットについて比例オッズの仮定を確認する必要があります。j

ここで、いくつか(1、2、4)の質問に答えます。

モデルが適切に適合したかどうかをどのように理解できますか?summary(house.plr)は、残留偏差3479.149と3495.149のAIC(赤池情報量基準?)を示しています。いいですか?それらが相対的な尺度としてのみ有用な場合(つまり、別のモデルの適合と比較する場合)、優れた絶対尺度とは何ですか?残差はほぼカイ二乗分布ですか?元のデータまたは相互検証で「正しく予測された%」を使用できますか?それを行う最も簡単な方法は何ですか?

適合モデルpolrは特別なものglmであるため、glmここでの従来の保持に当てはまるすべての仮定があります。パラメータを適切に処理すれば、分布を把握できます。具体的には、モデルが良いかどうかをテストするために、次のnullをテストする適合度テストを実行できます(これは微妙であるため、ほとんどの場合nullを拒否したいが、ここではしたくないそれを拒否して良いフィットを得る):

Ho 現在のモデルで十分です 

これにはカイ二乗検定を使用します。p値は次のように取得されます。

1-pchisq(deviance(house.plr),df.residual(house.plr))

ほとんどの場合、0.05より大きいp値を取得して、モデルが適切であると結論付けるためにnullを拒否しないようにします(ここでは哲学的な正確さは無視されます)。

AICは、多数のパラメーターを持ちたくないと同時に良好にフィットするように高くする必要があります。stepAICこれを確認する良い方法です。

はい。クロス検証を使用して、予測が成立するかどうかを確認できます。参照predict:機能(オプションtype = "probs"で)?polr。世話をする必要があるのは共変量だけです。

prにはどのような情報が含まれていますか?プロファイルのヘルプページは一般的なものであり、polrのガイダンスはありません。

@chlなどによって指摘されているように、prCIの取得に必要なすべての情報およびのその他の尤度関連情報が含まれていpolr fitます。すべてglmのsは、対数尤度の反復加重最小二乗推定法を使用して近似されます。この最適化では、分散共分散行列、CI、t値などの計算に必要な多くの情報を取得します(参考文献を参照してください)。すべての情報が含まれています。

各係数のt値をどのように解釈しますか?一部のモデルとは異なり、ここにはP値がありません。

通常の線形モデル(special glm)とは異なり、他glmのsは回帰係数の素敵なt分布を持っていません。したがって、取得できるのは、パラメーター推定値と、最尤理論を使用した漸近分散共分散行列だけです。したがって:

分散β^=バツTWバツ1ϕ^

推定値を標準誤差で割ったものが、BDRとWVがt値と呼ぶものです(MASSここでは慣例と仮定しています)。通常の線形回帰のt値と同等ですが、t分布に従いません。CLTを使用すると、漸近的に正規分布します。しかし、彼らはこの近似値を使用しないことを好みます(私は推測します)。(私が間違っていないことを望みます。もし私が間違っていれば、BDRがこのフォーラムに載っていないことを望みます。


さらに追加します。
-suncoolsu

1
これをありがとう。何回か読んだことがあります。たくさんの質問が残っています。1. Rでは機能的に、比例オッズの仮定をどのようにテストしますか?2.カイ2乗検定は正しいと確信していますか?この例では、0を返します。ただし、t値の一部は非常に高くなっています(InflHigh 10.1、InflMedium 5.4、ContHigh 3.7)。3.プロットまたはペアは何を示していますか?
dfrankow

幅広い回答をありがとうございます。私も同様の状況にあり、いくつか質問があります。1.カイ二乗検定式を使用して、すべてのモデルに対して0も取得します。2. AICのウィキペディアのページには「優先されるモデルは最小のAIC値を持つモデルです」と書かれていますが、「AICはフィットするためには高いはずです」と言いました。これらのアカウントを調整しようとしています。
サムスウィフト

@dfrankowと@Sam Swift。すみません、いくつかの論文を書くのに少し忙しかったです。わかりました-p値が0の場合、適合度テストが失敗したため、モデルが適合度が高くないことを意味します。AICの問題に関して、ウィキペディアと私は別の規約を使用しています。私は、BDRとWVで使用されているものを使用しています。(cf. Rでの線形モデルの拡張、
Dr。Julian

あなたが役に立つかもしれません0/1 p値とAICの解釈のためのいくつかの専用の質問があります。 stats.stackexchange.com/questions/15223/...の stats.stackexchange.com/questions/81427/...
スコット・

3

私はここでの会話を大いに楽しんでいますが、答えはあなたが出した質問に対するすべての(非常に良い)要素を正しく扱っていないと感じます。のサンプルページの後半は、polrすべてプロファイリングに関するものです。ここでは、プロファイリングとその機能について説明しているVenerablesとRipleyが優れた技術参考資料です。これは、指数ファミリーモデルを完全な尤度(通常のGLM)でフィッティングする快適ゾーンを超えたときに重要な手法です。

ここでの主要な出発点は、カテゴリしきい値の使用です。POLRは通常の傍受期間を推定しません。むしろ、迷惑なパラメーターがあります。適合リスクが可能なカテゴリーの特定の累積に収まる傾向があるしきい値。これらのしきい値は共同で推定されることはないため、モデルパラメーターとの共分散は不明です。GLMとは異なり、ある量の係数を「乱す」ことはできず、他の推定値にどのように影響するかを確実にすることはできません。プロファイリングを使用して、迷惑なしきい値のこのアカウンティングを実行します。プロファイリングは計り知れない対象であるが、モデルは、不規則な可能性を最大化されたときに、基本的な目標は、ロバスト回帰係数の共分散を測定している、とのような、、、及びkk1klmernlspolrglm.nb

オブジェクトは本質的にGLM(およびカテゴリのしきい値)?profile.glmであるため、ヘルプページはある程度役立つはずpolrです。最後に、実際にソースコードを使用する場合は、を使用してソースコードをピークにすることができますgetS3method('profile', 'polr')getS3methodRは多くのメソッドを非表示にする必要があると主張しているように見えますが、コードを確認することで実装とメソッドについて驚くほど多くを学ぶことができるため、この関数を頻繁に使用します。

•prにはどのような情報が含まれていますか?プロファイルのヘルプページは一般的なものであり、polrに関するガイダンスはありません。

prあるprofile.polr, profileオブジェクト(派生クラスprofile)。各共変量のエントリがあります。プロファイラーは各共変量をループ処理し、わずかに異なる量に固定された共変量で最適なモデルの適合を再計算します。出力には、推定値と他の共変量の結果の固定効果とのスケーリングされた「zスコア」の差として測定された共変量の固定値が表示されます。たとえば、を見るとpr$InflMedium、「z」が0の場合、他の固定効果は元の近似で見られるものと同じであることに気付くでしょう。

•plot(pr)は何を示していますか?6つのグラフが表示されます。ラベルはインジケータ変数です(順序値のインジケータである入力変数のように見えます)が、それぞれに数値のX軸があります。その場合、Y軸は「タウ」であり、これはまったく説明されていません。

再び、?plot.profile説明を与えます。プロットは、回帰係数がどのように変化するかを大まかに示しています。tauはスケーリングされた差、前のzスコアであるため、値0は最適な適合係数を示し、目盛りで示されます。このフィットがうまく動作していることはわかりませんが、これらの「線」は実際にはスプラインです。尤度が最適な近似で非常に不規則に振る舞う場合、プロットで奇妙で予測できない振る舞いを観察します。これにより、より堅牢なエラー推定(ブートストラップ/ジャックナイフ)を使用して出力を推定し、を使用してCIを計算しmethod='profile'、変数を再コーディングするか、他の診断を実行できます。

•pairs(pr)は何を示していますか?入力変数の各ペアのプロットのように見えますが、ここでもX軸またはY軸の説明はありません。

ヘルプファイルには次のように記載されています。「ペアメソッドは、パラメーターxとyの各ペアに対して、最尤推定値で交差する2つの曲線を示します。正確に2変量の正規プロファイル尤度の場合、これらの2つの曲線はy | xおよびx | yの条件付き平均を与える直線になり、輪郭は正確に楕円になります。」基本的に、これらは再び信頼楕円を視覚化するのに役立ちます。非直交軸は、直感的に非常に関連性の高いInfMediumやInfHighなどの高度に共変的な測定値を示します。繰り返しますが、不規則な可能性は、ここで非常に困惑している画像につながります。

•モデルが適切に適合したかどうかをどのように理解できますか?summary(house.plr)は、残留偏差3479.149と3495.149のAIC(赤池情報量基準?)を示しています。いいですか?それらが相対的な尺度としてのみ有用な場合(つまり、別のモデルの適合と比較する場合)、優れた絶対尺度とは何ですか?残差はほぼカイ二乗分布ですか?元のデータまたは相互検証で「正しく予測された%」を使用できますか?それを行う最も簡単な方法は何ですか?

評価するのに適した仮定の1つは、比例オッズの仮定です。これは、飽和した対数線形モデルに対してpolrを評価するグローバルテストにいくらか反映されます。ここでの制限は、大規模なデータでは、グローバルテストが常に失敗することです。その結果、グラフィックスを使用して、対数線形モデルとpolr近似の推定値(ベータ)と精度(SE)を調べることをお勧めします。彼らが大きく同意しない場合、何かがおそらく間違っています。

順序付けられた結果では、一致率を定義するのは困難です。モデルに基づいて分類器をどのように選択しますか?また、どのようにすると、貧弱な分類器から低いパフォーマンスを評価しますか?mode悪い選択です。10個のカテゴリロジットがあり、予測が常に1つのカテゴリから外れている場合、それはおそらく悪いことではありません。さらに、私のモデルは、応答が0の40%の確率を正しく予測するだけでなく、8、9、10の20%の確率を正しく予測する可能性があります。合意を測定する必要がある場合は、加重カッパ、またはMSEを使用してください。対数線形モデルは常に最良の一致を生成します。それはPOLRが行うことではありません。

•このモデルにanovaをどのように適用して解釈しますか?ドキュメントには、「predict、summary、vcov、anovaなど、標準のモデル適合関数のメソッドがあります」と書かれています。ただし、anova(house.plr)を実行すると、anovaは単一の「polr」オブジェクトに対して実装されません。

R のパッケージ内waldtestおよびパッケージ内lrtestでネストされたモデルをテストできlmtestます。これはANOVAと同等です。解釈はGLMの場合とまったく同じです。

•各係数のt値をどのように解釈しますか?一部のモデル近似とは異なり、ここにはP値はありません。

繰り返しますが、線形モデルとは異なり、POLRモデルは不規則な尤度の問題を抱えている可能性があるため、ヘッシアンに基づく推論は非常に不安定になる可能性があります。混合モデルの適合に似ていconfint.merModます。たとえば、lme4パッケージのヘルプファイルを参照してください。ここで、プロファイリングで行われた評価は、共分散が適切に機能していることを示しています。プロファイリングは計算量が非常に多いため、プログラマーはデフォルトでこれを行うことになります。Waldベースの推論を確認する必要がある場合coeftest(house.plr)は、lrtestパッケージから使用してください。


2

Rの比例オッズの仮定を「テスト」(つまり評価)するには、Frank Harrell Jr.のDesignパッケージでResidentials.lrm()を使用できます。?residuals.lrmと入力すると、Frank Harrellが比例オッズの仮定を評価することを推奨する方法の簡単な複製例があります(プッシュボタンテストではなく、視覚的に)。設計では、lms()を使用して順序付けられたロジスティック回帰を推定します。これは、MASSのpolr()の代わりに使用できます。

Rでの比例オッズの仮定を視覚的にテストする方法のより正式な例については、次を参照してください。11、No。5(2000年10月)、pp。617-626


3
誠にありがとうございます。ただし、StackExchangeの目的は、参照ではなく回答を提供することです。統計学者は特にこの参照問題を起こしやすいようです。remainings.lrmの使用方法について追加できる詳細はありますか?たとえば、コマンドの例とhouse.plrの例のグラフを解釈する例は?
dfrankow

1
著者のウェブサイトからの更新:「Designパッケージは廃止されました。Rユーザーは代わりにrmsパッケージを使用する必要があります」。マーク、あなたの反応は私にとってとても役に立ちました。
タルガリリ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.