井出草平の研究ノート

順序ロジスティック回帰[Stata]

Stataでの順序ロジスティック回帰分析の方法について。

stats.oarc.ucla.edu


順序ロジスティック回帰

順序付きロジスティック回帰の例

例 1: マーケティング・リサーチ会社が、人々がファーストフード・チェーンで注文するソーダのサイズ(S、M、L、特大)に、どのような要因が影響するかを調査したいと考えている。これらの要因は、注文されたサンドイッチの種類(ハンバーガーかチキンか)、フライドポテトも注文されたかどうか、消費者の年齢を含むかもしれない。 結果変数であるソーダのサイズは、明らかに注文されるが、様々なサイズの差は一定ではない。SmallとMediumの差は10オンス、MediumとLargeの差は8オンス、LargeとExtra Largeの差は12オンスである。

例2:ある研究者は、オリンピック水泳のメダルにどのような要因が影響するかについて興味を持っている。

関連する予測因子には、トレーニング時間、食事、年齢、アスリートの母国での水泳の人気などがある。 研究者は、金と銀の間の距離は、銀と銅の間の距離より大きいと考えている。

例3: ある研究が、大学院に出願するかどうかの決定に影響を与える要因について調べている。

大学3年生に、大学院に出願する可能性は低いか、やや高いか、非常に高いかを尋ねている。したがって、我々の結果変数は3つのカテゴリを持つ。 また、親の学歴、学部が公立か私立か、現在のGPAに関するデータも収集されている。研究者は、これらの3点間の "距離"が等しくないと考える根拠を持っている。 例えば、「可能性が低い」と「やや高い」の間の「距離」は、「やや高い」と「非常に高い」の間の「距離」よりも短いかもしれない。

データの説明

以下のデータ分析では、例3として大学院への出願について展開する この例ではいくつかのデータをシミュレートしており、それは弊社のウェブサイトから入手することができる。

use https://stats.oarc.ucla.edu/stat/data/ologit.dta, clear

この仮想データ・セットは、apply(コード 0, 1, 2)という3水準変数を持っていて、これを我々の結果変数として使う。 これは、少なくとも片方の親が大学院の学位を持っているかどうかを示す0/1の変数で、publicは、学部が公立で0/1の変数、そしてgpaは、学生の成績平均点である。

まず、これらの変数の記述統計から見ていこう。

tab apply
          apply |      Freq.     Percent        Cum.
----------------+-----------------------------------
       unlikely |        220       55.00       55.00
somewhat likely |        140       35.00       90.00
    very likely |         40       10.00      100.00
----------------+-----------------------------------
          Total |        400      100.00
tab apply, nolab
       
      apply |      Freq.     Percent        Cum.
------------+-----------------------------------
          0 |        220       55.00       55.00
          1 |        140       35.00       90.00
          2 |         40       10.00      100.00
------------+-----------------------------------
      Total |        400      100.00
tab apply pared
                |         pared
          apply |         0          1 |     Total
----------------+----------------------+----------
       unlikely |       200         20 |       220 
somewhat likely |       110         30 |       140 
    very likely |        27         13 |        40 
----------------+----------------------+----------
          Total |       337         63 |       400 
tab apply public
                |        public
          apply |         0          1 |     Total
----------------+----------------------+----------
       unlikely |       189         31 |       220 
somewhat likely |       124         16 |       140 
    very likely |        30         10 |        40 
----------------+----------------------+----------
          Total |       343         57 |       400
summarize gpa
    Variable |        Obs        Mean    Std. dev.       Min        Max
-------------+---------------------------------------------------------
         gpa |        400    2.998925    .3979409        1.9          4

contents() コマンドがStata17から使えなくなっている。 代わりにstat()コマンドで同様のことができる。

stata16まで

table apply, cont(mean gpa sd gpa)

stata17

table apply, stat(mean gpa) stat(sd gpa)
--------------------------------------------------
                  |      Mean   Standard deviation
------------------+-------------------------------
apply             |                               
  unlikely        |  2.952136              .403594
  somewhat likely |  3.030071             .3893446
  very likely     |   3.14725             .3560322
  Total           |  2.998925             .3979409
--------------------------------------------------

検討中の解析方法

以下は、あなたが遭遇したことのある分析手法のリストである。リストアップされた方法の中には、非常に合理的なものもあれば、人気がなくなってしまったものや限界のあるものもある。

  • 順序ロジスティック回帰: このページの焦点である。
  • OLS 回帰。 この分析は、非介入結果変数で使用された場合、OLSの仮定が破られるので問題がある。
  • ANOVA: 1つの連続予測変数のみを使用する場合、モデルを「反転」させて、たとえば、gpaが結果変数で、applyが予測変数になるようにすることができる。 そして、一元配置のANOVAを実行することができる。これは、予測変数が1つだけ(ロジスティック・モデルから)で、それが連続的である場合、悪いものではない。
  • 多項ロジスティック回帰。 これは順序ロジスティック回帰と似ているが、結果変数のカテゴリに順序がない(つまり、カテゴリが名義である)ことが仮定されている。このアプローチの不利な点は,順序に含まれる情報が失われることである。
  • 順序付きプロビット回帰: これは,順序付きロジスティック回帰の実行に非常によく似ている. 主な違いは,係数の解釈である。

順序ロジスティック回帰

以下では、ogitコマンドを使用して順序付きロジスティック回帰モデルを推定する。paredの前のi.は、paredが因子変数(すなわち、カテゴリー変数)であり、一連の指標変数としてモデルに含まれるべきことを示す。i.publicも同様である。

use https://stats.oarc.ucla.edu/stat/data/ologit.dta, clear
ologit apply i.pared i.public gpa
Iteration 0:   log likelihood = -370.60264  
Iteration 1:   log likelihood =   -358.605  
Iteration 2:   log likelihood = -358.51248  
Iteration 3:   log likelihood = -358.51244  
Iteration 4:   log likelihood = -358.51244  

Ordered logistic regression                             Number of obs =    400
                                                        LR chi2(3)    =  24.18
                                                        Prob > chi2   = 0.0000
Log likelihood = -358.51244                             Pseudo R2     = 0.0326

------------------------------------------------------------------------------
       apply | Coefficient  Std. err.      z    P>|z|     [95% conf. interval]
-------------+----------------------------------------------------------------
     1.pared |   1.047664   .2657891     3.94   0.000     .5267266    1.568601
    1.public |  -.0586828   .2978588    -0.20   0.844    -.6424754    .5251098
         gpa |   .6157458   .2606311     2.36   0.018     .1049183    1.126573
-------------+----------------------------------------------------------------
       /cut1 |   2.203323   .7795353                      .6754621    3.731184
       /cut2 |   4.298767   .8043147                       2.72234    5.875195
------------------------------------------------------------------------------

上の出力では、まず反復のログが表示される。 反復0では、Stataはヌルモデル、すなわち、切片のみのモデルをあてはめる。そして、フルモデルの適合に移り、連続した反復の間の対数尤度の差が十分に小さくなると、反復プロセスを停止かる。最終的な対数尤度(-358.51244)が再び表示される。これはネストされたモデルの比較に使用することができる。また出力の一番上に、我々のデータ集合の400個の標本数がすべてが分析で使用されたことがわかる。0.0000のp値を持つ24.18の尤度比カイ2乗は、予測変数なしのヌルモデルと比較して、我々のモデルが全体として統計的に有意であることを示す。0.0326の擬似R2乗も与えられる。

表では、係数、それらの標準誤差、z検定とそれらの関連するp値、係数の95% 信頼区間が表示されている。paredとgpaはともに統計的に有意であり、publicは有意ではない。 つまり、paredについては、モデル内の他のすべての変数が一定であるとすると、paredが1単位増加する(すなわち、0から1になる)と、より高いレベルのアプリケーションに入る対数オッズが1.05増加すると予想される。
gpaが1単位増加すると、モデル内の他のすべての変数が一定であるとすると、より高いレベルのapplyにいる対数オッズが0.62増加すると予想される。 出力の一番下に示されたカットポイントは、我々のデータで観察される3つのグループを作るために、潜在変数がどこでカットされるかを示す。 この潜在変数は連続的であることに注意。 一般に、これらは結果の解釈には使用されない。 カットポイントは、他の統計パッケージで報告されている閾値と密接に関連している。 さらに詳しい情報は、Stata FAQを参照。

順序付きプロビットおよびロジスティック・モデルのStataのパラメータ化を、定数が推定されるものに変換するにはどうすればよいか? http://www.stata.com/support/faqs/stat/ologit_con.html

ologitコマンドの後にorオプションをつけると、オッズ比を求めることができる。

use https://stats.oarc.ucla.edu/stat/data/ologit.dta, clear
ologit apply i.pared i.public gpa, or
Iteration 0:   log likelihood = -370.60264  
Iteration 1:   log likelihood =   -358.605  
Iteration 2:   log likelihood = -358.51248  
Iteration 3:   log likelihood = -358.51244  
Iteration 4:   log likelihood = -358.51244  

Ordered logistic regression                             Number of obs =    400
                                                        LR chi2(3)    =  24.18
                                                        Prob > chi2   = 0.0000
Log likelihood = -358.51244                             Pseudo R2     = 0.0326

------------------------------------------------------------------------------
       apply | Odds ratio   Std. err.      z    P>|z|     [95% conf. interval]
-------------+----------------------------------------------------------------
     1.pared |   2.850982   .7577601     3.94   0.000      1.69338    4.799927
    1.public |   .9430059   .2808826    -0.20   0.844     .5259888    1.690645
         gpa |   1.851037   .4824377     2.36   0.018      1.11062    3.085067
-------------+----------------------------------------------------------------
       /cut1 |   2.203323   .7795353                      .6754621    3.731184
       /cut2 |   4.298767   .8043147                       2.72234    5.875195
------------------------------------------------------------------------------
Note: Estimates are transformed only in the first equation to odds ratios.

上記の出力では、結果は比例オッズ比として表示されている。我々は、2値のロジスティック回帰からのオッズ比とほぼ同じように、これを解釈する。 paredについては、モデル中の他のすべての変数が一定であるとすると、paredが1単位増加すると、すなわち、0から1になると、中低カテゴリの組み合わせに対して高適用のオッズが2.85大きくなる。
同様に、モデル中の他のすべての変数が一定であるとすると、中位と上位のカテゴリーを合わせたものと下位のカテゴリーを合わせたものとのオッズは、2.85倍大きくなる。 GPAが1単位増加すると、モデル中の他の変数が一定であるとすると、高カテゴリーの出願と低カテゴリーおよび中カテゴリーの出願のオッズは、1.85倍となる。 比例オッズの仮定(より詳しい説明は以下をご覧ください)のため、低申請と中申請と高申請の組み合わせのカテゴリの間でも、同じ増加、1.85倍が見出される。

また、変数の標準偏差に対するオッズの変化と同様に、オッズ比を得るためにlistcoefコマンドを使用することができる。出力の下部にある各列を説明するリストを得るために、helpオプションを使用している。 オッズの変化率を見るためにpercentオプションを使うことができる。listcoeffコマンドはLongとFreeseによって書かれたもので、search spostと入力してダウンロードする必要がある(searchの使い方については、How can I use the search command to search for programs and get additional help? "を参照してください)。

注釈
Stata17ではあまり推奨されない機能ではあるが、下記の手順で使用はできる。
sg152.pkgのインストールが必要。インストールはこちらから。
spost13_ado from https://jslsoc.sitehost.iu.edu/stata
Stata17の場合、警告はでるが強制的にインストールは可能である。

use https://stats.oarc.ucla.edu/stat/data/ologit.dta, clear
ologit apply i.pared i.public gpa, or
listcoef, help
ologit (N=400): Factor change in odds 

  Odds of: >m vs <=m

------------------------------------------------------------------------
             |         b        z    P>|z|       e^b   e^bStdX     SDofX
-------------+----------------------------------------------------------
     1.pared |    1.0477    3.942    0.000     2.851     1.465     0.365
    1.public |   -0.0587   -0.197    0.844     0.943     0.980     0.350
         gpa |    0.6157    2.363    0.018     1.851     1.278     0.398
------------------------------------------------------------------------
       b = raw coefficient
       z = z-score for test of b=0
   P>|z| = p-value for z-test
     e^b = exp(b) = factor change in odds for unit increase in X
 e^bStdX = exp(b*SD of X) = change in odds for SD increase in X
   SDofX = standard deviation of X

オッズ比の変化率をパーセントで表示する場合。

listcoef, help percent
ologit (N=400): Percentage change in odds 

  Odds of: >m vs <=m

------------------------------------------------------------------------
             |         b        z    P>|z|         %     %StdX     SDofX
-------------+----------------------------------------------------------
     1.pared |    1.0477    3.942    0.000     185.1      46.5     0.365
    1.public |   -0.0587   -0.197    0.844      -5.7      -2.0     0.350
         gpa |    0.6157    2.363    0.018      85.1      27.8     0.398
------------------------------------------------------------------------
       b = raw coefficient
       z = z-score for test of b=0
   P>|z| = p-value for z-test
       % = percent change in odds for unit increase in X
   %StdX = percent change in odds for SD increase in X
   SDofX = standard deviation of X

順序付きロジスティック回帰(および順序付きプロビット回帰)の基礎となる仮定は,結果グループの各対の間の関係性が同じであるということである。言い換えると,順序付きロジスティック回帰は,たとえば、応答変数の最低カテゴリとすべての上位カテゴリの間の関係性を記述する係数が、次の最低カテゴリとすべての上位カテゴリの間の関係性を記述する係数と同じであることを仮定している。これは比例オッズの仮定または平行回帰の仮定と呼ばれる。グループのすべての対の間の関係が同じなので,係数のセットは1つだけである(モデルは1つだけ)。もしそうでなければ,結果群の各対の間の関係を記述するために,異なるモデルが必要であろう。我々は、比例オッズの仮定を検定する必要があり、そうするために使用できる2つの検定がある。

まず、omodelと呼ばれるユーザーが書いたコマンドをダウンロードする必要がある(type search omodel)。最初の検定は、尤度比検定を行う。 帰無仮説は、モデル間の係数に差がないというもので、有意でない結果が得られることを「期待」する。omodelコマンドは因子変数を認識しないので、i.が省略されていることに注意する。

stata17では" ologit postestimation -- Postestimation tools for ologit"の中に含まれているが、"forecast, hausman, and lrtest are not appropriate with svy estimation results."と書かれている。個人的にも不要だと思う。Brant検定の方が優先的に使われるべきである。
Stata17ではBrant検定が標準で搭載されている。16以下については知らない。

omodelとspostパッケージを用いる方法

brantコマンドはBrant検定を実行する。出力の一番下の注釈にあるように、これらの検定も有意でないことを「望む」。 brantコマンドは、listcoeffと同様、spostアドオンの一部であり、search spostとタイプすることで入手できる。ここでは、detailオプションを使用して、2つの方程式の推定係数を表示している。 (我々は、応答変数に3つのカテゴリがあるので、2つの方程式がある)。また、omodelコマンドで得られた尤度比カイ二乗の値4.06はbrantコマンドで得られた4.34と非常に近いことがわかる。

omodel logit apply pared public gpa
brant, detail
Iteration 0:   log likelihood = -370.60264
Iteration 1:   log likelihood =   -358.605
Iteration 2:   log likelihood = -358.51248
Iteration 3:   log likelihood = -358.51244

Ordered logit estimates                           Number of obs   =        400
                                                  LR chi2(3)      =      24.18
                                                  Prob > chi2     =     0.0000
Log likelihood = -358.51244                       Pseudo R2       =     0.0326

------------------------------------------------------------------------------
       apply | Coefficient  Std. err.      z    P>|z|     [95% conf. interval]
-------------+----------------------------------------------------------------
       pared |   1.047664   .2657891     3.94   0.000     .5267266    1.568601
      public |  -.0586828   .2978588    -0.20   0.844    -.6424754    .5251098
         gpa |   .6157458   .2606311     2.36   0.018     .1049183    1.126573
-------------+----------------------------------------------------------------
       _cut1 |   2.203323   .7795353          (Ancillary parameters)
       _cut2 |   4.298767   .8043146 
------------------------------------------------------------------------------

Approximate likelihood-ratio test of proportionality of odds
across response categories:
         chi2(3) =      4.06
       Prob > chi2 =    0.2553

標準機能を使う場合

ologit apply i.pared i.public gpa
brant

brant, detailコマンドも利用できる。

Brant test of parallel regression assumption

              |       chi2     p>chi2      df
 -------------+------------------------------
          All |       4.34      0.227       3
 -------------+------------------------------
      1.pared |       0.13      0.716       1
     1.public |       3.44      0.064       1
          gpa |       0.18      0.672       1

A significant test statistic provides evidence that the parallel
regression assumption has been violated.

上記の検定は、両方とも、比例オッズの仮定に違反していないことを示している。 もし、そうであれば、私たちは、gologit2を用いて一般化順序ロジスティック・モデルとしてモデルを実行したいと思うだろう。search gologit2とタイプし、gologit2をダウンロードする必要がある。

また、係数やオッズ比よりも理解しやすい予測確率を求めることもできる。 marginsコマンドを使用する。これはカテゴリ変数または連続変数のどちらかで使用でき、指定された変数の値のそれぞれについて予測される確率を示す。 カテゴリ予測変数の例としてparedを使用する。ここで、我々は、paredを変化させ、他の変数をそれらの平均に保持すると、適用される各カテゴリのメンバーシップの確率がどのように変化するかを見る。見てわかるように、両親のどちらかが大学院レベルの教育を受けていない場合、applyの最低カテゴリーに入る予測確率は0.59で、そうでない場合は0.34である。 中間のカテゴリーでは、予測される確率は0.33と0.47であり、最も高いカテゴリーでは、0.078と0.196である。 したがって、両親のどちらかが大学院レベルの教育を受けていない場合、大学院に出願する予測確率は減少する。 各変数は、それぞれの出力の一番上に保持されている値を見ることができる。

margins, at(pared=(0/1)) predict(outcome(0)) atmeans
Adjusted predictions                                       Number of obs = 400
Model VCE: OIM

Expression: Pr(apply==0), predict(outcome(0))
1._at: pared    =        0
       0.public =    .8575 (mean)
       1.public =    .1425 (mean)
       gpa      = 2.998925 (mean)
2._at: pared    =        1
       0.public =    .8575 (mean)
       1.public =    .1425 (mean)
       gpa      = 2.998925 (mean)

------------------------------------------------------------------------------
             |            Delta-method
             |     Margin   std. err.      z    P>|z|     [95% conf. interval]
-------------+----------------------------------------------------------------
         _at |
          1  |   .5902769   .0268846    21.96   0.000     .5375841    .6429697
          2  |   .3356916   .0549943     6.10   0.000     .2279047    .4434784
------------------------------------------------------------------------------
margins, at(pared=(0/1)) predict(outcome(1)) atmeans
Adjusted predictions                                       Number of obs = 400
Model VCE: OIM

Expression: Pr(apply==1), predict(outcome(1))
1._at: pared    =        0
       0.public =    .8575 (mean)
       1.public =    .1425 (mean)
       gpa      = 2.998925 (mean)
2._at: pared    =        1
       0.public =    .8575 (mean)
       1.public =    .1425 (mean)
       gpa      = 2.998925 (mean)

------------------------------------------------------------------------------
             |            Delta-method
             |     Margin   std. err.      z    P>|z|     [95% conf. interval]
-------------+----------------------------------------------------------------
         _at |
          1  |    .331053   .0242226    13.67   0.000     .2835775    .3785285
          2  |   .4685299   .0344096    13.62   0.000     .4010883    .5359714
------------------------------------------------------------------------------
margins, at(pared=(0/1)) predict(outcome(2)) atmeans
Adjusted predictions                                       Number of obs = 400
Model VCE: OIM

Expression: Pr(apply==2), predict(outcome(2))
1._at: pared    =        0
       0.public =    .8575 (mean)
       1.public =    .1425 (mean)
       gpa      = 2.998925 (mean)
2._at: pared    =        1
       0.public =    .8575 (mean)
       1.public =    .1425 (mean)
       gpa      = 2.998925 (mean)

------------------------------------------------------------------------------
             |            Delta-method
             |     Margin   std. err.      z    P>|z|     [95% conf. interval]
-------------+----------------------------------------------------------------
         _at |
          1  |   .0786702   .0132973     5.92   0.000      .052608    .1047323
          2  |   .1957785    .040827     4.80   0.000     .1157591     .275798
------------------------------------------------------------------------------

また、marginコマンドを使って連続変数の値を選択し、各ポイントでの予測確率を見ることができる。
下記は、2、3、4でのgpaの予測確率である。見てわかるように、gpaのほぼすべての値で、最も高い予測確率は、最も低いカテゴリの適用であり、gpaが4のときだけ、予測確率は、可能性が低いよりもやや高いが、これは、ほとんどの回答者がこのカテゴリであるため、理にかなっている。 また、gpaが高くなるにつれて、中位と上位のカテゴリーで予測される確率が高くなることがわかる。

margins, at(gpa=(2/4)) predict(outcome(0)) atmeans
Adjusted predictions                                       Number of obs = 400
Model VCE: OIM

Expression: Pr(apply==0), predict(outcome(0))
1._at: 0.pared  = .8425 (mean)
       1.pared  = .1575 (mean)
       0.public = .8575 (mean)
       1.public = .1425 (mean)
       gpa      =     2
2._at: 0.pared  = .8425 (mean)
       1.pared  = .1575 (mean)
       0.public = .8575 (mean)
       1.public = .1425 (mean)
       gpa      =     3
3._at: 0.pared  = .8425 (mean)
       1.pared  = .1575 (mean)
       0.public = .8575 (mean)
       1.public = .1425 (mean)
       gpa      =     4

------------------------------------------------------------------------------
             |            Delta-method
             |     Margin   std. err.      z    P>|z|     [95% conf. interval]
-------------+----------------------------------------------------------------
         _at |
          1  |   .6932137    .060112    11.53   0.000     .5753963     .811031
          2  |   .5496956   .0255013    21.56   0.000      .499714    .5996773
          3  |   .3974013   .0665332     5.97   0.000     .2669986    .5278041
------------------------------------------------------------------------------

margins, at(gpa=(2/4)) predict(outcome(1)) atmeans






Adjusted predictions                                       Number of obs = 400
Model VCE: OIM

Expression: Pr(apply==1), predict(outcome(1))
1._at: 0.pared  = .8425 (mean)
       1.pared  = .1575 (mean)
       0.public = .8575 (mean)
       1.public = .1425 (mean)
       gpa      =     2
2._at: 0.pared  = .8425 (mean)
       1.pared  = .1575 (mean)
       0.public = .8575 (mean)
       1.public = .1425 (mean)
       gpa      =     3
3._at: 0.pared  = .8425 (mean)
       1.pared  = .1575 (mean)
       0.public = .8575 (mean)
       1.public = .1425 (mean)
       gpa      =     4

------------------------------------------------------------------------------
             |            Delta-method
             |     Margin   std. err.      z    P>|z|     [95% conf. interval]
-------------+----------------------------------------------------------------
         _at |
          1  |   .2551558   .0472683     5.40   0.000     .1625116    .3477999
          2  |   .3587569   .0246482    14.56   0.000     .3104474    .4070664
          3  |   .4453892   .0399212    11.16   0.000      .367145    .5236334
------------------------------------------------------------------------------
margins, at(gpa=(2/4)) predict(outcome(2)) atmeans
Adjusted predictions                                       Number of obs = 400
Model VCE: OIM

Expression: Pr(apply==2), predict(outcome(2))
1._at: 0.pared  = .8425 (mean)
       1.pared  = .1575 (mean)
       0.public = .8575 (mean)
       1.public = .1425 (mean)
       gpa      =     2
2._at: 0.pared  = .8425 (mean)
       1.pared  = .1575 (mean)
       0.public = .8575 (mean)
       1.public = .1425 (mean)
       gpa      =     3
3._at: 0.pared  = .8425 (mean)
       1.pared  = .1575 (mean)
       0.public = .8575 (mean)
       1.public = .1425 (mean)
       gpa      =     4

------------------------------------------------------------------------------
             |            Delta-method
             |     Margin   std. err.      z    P>|z|     [95% conf. interval]
-------------+----------------------------------------------------------------
         _at |
          1  |   .0516305   .0158556     3.26   0.001     .0205541    .0827069
          2  |   .0915475   .0142998     6.40   0.000     .0635204    .1195745
          3  |   .1572095   .0397767     3.95   0.000     .0792486    .2351703
------------------------------------------------------------------------------

ここでは、applyの値(0、1、2)をループし、gpa = 3.5、pared = 1、public = 1のときの予測確率を計算する。

forvalues i = 0/2 {
  margins, at(gpa = 3.5 pared = 1 public = 1) predict(outcome(`i'))
}
Adjusted predictions                                       Number of obs = 400
Model VCE: OIM

Expression: Pr(apply==0), predict(outcome(0))
At: pared  =   1
    public =   1
    gpa    = 3.5

------------------------------------------------------------------------------
             |            Delta-method
             |     Margin   std. err.      z    P>|z|     [95% conf. interval]
-------------+----------------------------------------------------------------
       _cons |   .2807452   .0695883     4.03   0.000     .1443547    .4171357
------------------------------------------------------------------------------

Adjusted predictions                                       Number of obs = 400
Model VCE: OIM

Expression: Pr(apply==1), predict(outcome(1))
At: pared  =   1
    public =   1
    gpa    = 3.5

------------------------------------------------------------------------------
             |            Delta-method
             |     Margin   std. err.      z    P>|z|     [95% conf. interval]
-------------+----------------------------------------------------------------
       _cons |   .4796188   .0326872    14.67   0.000     .4155531    .5436844
------------------------------------------------------------------------------

Adjusted predictions                                       Number of obs = 400
Model VCE: OIM

Expression: Pr(apply==2), predict(outcome(2))
At: pared  =   1
    public =   1
    gpa    = 3.5

------------------------------------------------------------------------------
             |            Delta-method
             |     Margin   std. err.      z    P>|z|     [95% conf. interval]
-------------+----------------------------------------------------------------
       _cons |    .239636    .063819     3.75   0.000      .114553     .364719
------------------------------------------------------------------------------

考慮すべきこと

  • 完全予測:完全予測とは、予測変数の1つの値が応答変数の1つの値だけに関連することを意味する。これが起こると、Stataは、通常、出力の一番上に注意書きを発行し、モデルを実行できるようにケースを削除する。
  • サンプルサイズ: 順序ロジスティックと順序プロビットの両方とも、最尤推定値を使用するため、十分なサンプルサイズが必要である。どの程度大きいかは議論のあるところだが,ほとんどの場合,OLS 回帰よりも多くのケースを必要とする。
  • 空白のセルまたは小さなセル: カテゴリ予測変数と結果変数の間のクロスタブを行うことにより,空白または小さなセルをチェックするべきである。セルに非常に少ないケースがある場合,モデルが不安定になるか,まったく実行されないかもしれない。
  • 擬似R2乗: OLSで発見されたR2乗の正確な類似指標は存在しない。擬似R2乗には多くのバージョンがある。様々な擬似R2乗の詳細と説明については、Long and Freese 2005を参照。
  • 診断: 非線形モデルの診断は難しく、順序ロジット/プロビットモデルはバイナリモデルよりもさらに困難である。