順序ロジットモデルとは
順序ロジットモデルは、順序的な従属変数をモデル化するための一般的な統計手法であり、序数的なデータを扱う社会科学、健康、ビジネスなどの研究領域で広く使用されています。興味のある結果が順序的であり、自然な順序があるが、カテゴリ間の距離が必ずしも等しくない場合、順序ロジットモデルは、データのユニークな特徴を考慮して、これらの序数的な変数を分析するための理想的な解決策を提供します。
このモデルにより、一連の予測変数と順序的な結果の関係を調べ、各結果カテゴリの発生確率に影響を与える要因について貴重な洞察を得ることができます。例えば、順序ロジットモデルは、人口統計的、社会経済的、環境的要因が異なる疾患の段階を発症する可能性にどのように影響するかを理解するために適用されたり、製品の特徴やマーケティング戦略に基づいて顧客満足度レベルを予測するために使用されたりします。
仮定と要件
順序ロジットモデルをデータに適用する前に、必要な仮定と要件が満たされていることを確認することが重要です。これらの仮定が違反されると、バイアスや不一致の結果が生じる可能性があります。この章では、順序ロジットモデルの4つの主要な仮定である、比例オッズ仮定、従属変数の順序性、観測の独立性、およびロジットの線形性について説明します。
比例オッズ仮定
比例オッズ仮定は、順序ロジットモデルの中心的な仮定であり、全てのカテゴリで予測変数と結果カテゴリの対数オッズの関係が同じであることを意味します。数学的には、次のように表すことができます。
ここで、
は、予測変数P(Y \leq j | X) が与えられた条件下で、結果X がカテゴリY 以下になる確率を表します。j は、予測変数P(Y > j | X) が与えられた条件下で、結果X がカテゴリY よりも高いカテゴリになる確率を表します。j は、カテゴリ\alpha_j の閾値(またはカットポイント)を表します。j は、予測変数\beta の係数のベクトルを表します。X
この仮定は、
従属変数の順序性
順序ロジットモデルでは、従属変数が順序的であることが必要です。つまり、自然な順序があるが、カテゴリ間の距離が必ずしも等しくないことを意味します。教育水準、疾患の重症度、満足度レベルなどが順序的な変数の例です。重要なことは、モデルは名義尺度の変数や意味のないカテゴリを持つ連続変数には適していないということです。
観測の独立性
観測の独立性仮定は、データセット内の各観測が他の観測と独立していることを示しています。これは、時系列や空間的な相関などの観測間に潜在的な関係や依存関係がないことを意味します。この仮定が違反されると、バイアスのある推定値や不正確な推論が生じる可能性があります。
ロジットの線形性
順序ロジットモデルは、順序的な従属変数の対数オッズと予測変数の間の関係が線形であると仮定します。つまり、予測変数の1単位の増加が、他の変数を一定に保ったまま、結果カテゴリの対数オッズに一定の効果を与えるということを意味します。線形性の仮定を評価するためには、散布図や残差プロットを視覚的に調べたり、必要に応じて予測変数を変換したりする必要があります。
順序ロジットモデルの推定
この章では、順序ロジットモデルの推定について説明します。最尤推定、係数の解釈、閾値とカットオフポイントについて説明します。
最尤推定
順序ロジットモデルは、与えられたデータを観測する確率を最大化する係数の値を求める最尤法を使用して推定されます。順序ロジットモデルの尤度関数は次のように表されます。
ここで、
は、尤度関数を表します。L(\beta, \alpha | Y, X) は、予測変数\beta の係数ベクトルを表します。X は、各カテゴリ\alpha の閾値パラメータを表すベクトルです。j は、Y_i 番目の観測の結果を表します。i は、X_i 番目の観測の予測変数ベクトルを表します。i は、ロジスティック分布の累積分布関数を表します。F(\cdot) は、インジケータ関数であり、括弧内の条件が真である場合には1、そうでない場合には0に等しくなります。I(\cdot)
最尤法により、係数と閾値の最尤推定値を求めることができます。最尤推定値を得るためには、ニュートン・ラフソン法や期待値最大化アルゴリズムなどの最適化アルゴリズムが用いられます。
係数の解釈
順序ロジットモデルにおける係数は、予測変数が順序的な結果変数の対数オッズに与える影響を表します。係数が正である場合、予測変数の増加がより高い結果カテゴリになる対数オッズの増加と関連しています。一方、係数が負である場合は、予測変数の増加がより高い結果カテゴリに属する確率の減少と関連しています。
係数を解釈するために、各予測変数に対するオッズ比を計算することができます。オッズ比は、他の変数を一定に保ったまま、予測変数が1単位増加した場合に、より高い結果カテゴリのオッズがどのように変化するかを示します。
重要なことは、順序ロジットモデルにおける係数とオッズ比の解釈は、比例オッズの仮定に依存しているということです。
閾値とカットオフポイント
順序ロジットモデルにおける閾値、またはカットオフポイントは、結果変数の対数オッズがカテゴリ間で変化するポイントを表します。各閾値は、特定のカテゴリに対応し、線形予測子
推定された閾値は、特定の予測変数セットに対する結果変数の予測確率を計算するために使用することができます。
Rにおける順序ロジットモデル
この章では、Rを使用して順序ロジットモデルを推定する方法を示します。プロポーショナルオッズモデルを適合させるためのpolr()
関数を提供するMASS
パッケージを使用します。
必要なパッケージをインストールして読み込む
まず、MASS
とordinal
パッケージをインストールしていない場合はインストールし、次にロードする必要があります。
# Install packages if not already installed
if (!requireNamespace("MASS", quietly = TRUE)) {
install.packages("MASS")
}
if (!requireNamespace("ordinal", quietly = TRUE)) {
install.packages("ordinal")
}
# Load packages
library(MASS)
library(ordinal)
ワインのデータセットを読み込む
`wineデータセットを読み込みます。
wine <- read.csv("http://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality-white.csv", sep = ";")
# Convert the dependent variable to an ordered factor
wine$quality <- factor(wine$quality, ordered = TRUE)
順序ロジットモデルを推定
今回はMASS
パッケージのpolr()
関数を使用して順序ロジットモデルを推定します。ワインの品質と説明変数の関係をモデル化します。
# Estimate the Ordered Logit Model
ordered_logit_model <- polr(quality ~ ., data = wine)
# Display the model summary
summary(ordered_logit_model)
Call:
polr(formula = quality ~ ., data = wine)
Coefficients:
Value Std. Error t value
fixed.acidity 2.314e-01 0.0382399 6.0519
volatile.acidity -4.982e+00 0.3070888 -16.2231
citric.acid 1.238e-01 0.2425520 0.5105
residual.sugar 2.307e-01 0.0067782 34.0288
chlorides -6.080e-01 1.3680802 -0.4444
free.sulfur.dioxide 1.193e-02 0.0022344 5.3394
total.sulfur.dioxide -9.073e-04 0.0009539 -0.9512
density -4.623e+02 0.4622070 -1000.2657
pH 2.068e+00 0.2125885 9.7296
sulphates 1.815e+00 0.2467479 7.3565
alcohol 4.299e-01 0.0314096 13.6865
Intercepts:
Value Std. Error t value
3|4 -451.8844 0.4703 -960.8466
4|5 -449.5243 0.4686 -959.3266
5|6 -446.4853 0.4727 -944.6359
6|7 -443.8967 0.4816 -921.7029
7|8 -441.6433 0.4908 -899.7778
8|9 -437.9633 0.6607 -662.8715
Residual Deviance: 10900.89
AIC: 10934.89
summary()
関数の出力には、各説明変数の推定係数、標準誤差、z値、p値、および推定された閾値が表示されます。
-
Coefficients
これらは、各予測変数が、他の変数を一定に保ったまま、より高いワインの品質評価を観察するロジットの対数オッズに与える影響を表します。- 例えば、
volatile.acidity
の係数は-4.982です。これは、揮発性酸度の増加が、他の変数を一定に保ったまま、より高いワインの品質評価のロジットの対数オッズの減少と関連していることを示しています。これは、揮発性酸度が高いと一般的にはワインの品質が悪くなるため、予想される結果です。 alcohol
の係数は0.430で、アルコール含有量の増加が他の変数を一定に保ったまま、より高いワインの品質評価のロジットの対数オッズの増加と関連していることを示しています。
- 例えば、
-
Intercepts
これらは、隣接する品質評価カテゴリ間の推定しきい値です。例えば、品質3と4の間のしきい値は-451.8844です。推定されたしきい値は、係数と同じ対数オッズスケールで表されます。
結果の解釈
係数を解釈するために、exp()
関数を使用してオッズ比を計算することができます。
# Calculate the odds ratios
exp(ordered_logit_model$coefficients)
fixed.acidity volatile.acidity citric.acid residual.sugar
1.260395e+00 6.860867e-03 1.131825e+00 1.259422e+00
chlorides free.sulfur.dioxide total.sulfur.dioxide density
5.444452e-01 1.012002e+00 9.990931e-01 1.631987e-201
pH sulphates alcohol
7.912119e+00 6.142251e+00 1.537083e+00
これらのオッズ比の解釈は次のとおりです。
-
fixed.acidity
固定酸度が1単位増加すると、他の変数を一定に保ったまま、より高いワインの品質評価のオッズが1.260倍になります。 -
volatile.acidity
揮発性酸度が1単位増加すると、他の変数を一定に保ったまま、より高いワインの品質評価のオッズが0.0069倍になります。これは、高い揮発性酸度がワインの品質評価に悪影響を与えることを示しています。 -
citric.acid
クエン酸が1単位増加すると、他の変数を一定に保ったまま、より高いワインの品質評価のオッズが1.132倍になります。 -
residual.sugar
残留糖が1単位増加すると、他の変数を一定に保ったまま、より高いワインの品質評価のオッズが1.259倍になります。 -
chlorides
塩化物が1単位増加すると、他の変数を一定に保ったまま、より高いワインの品質評価のオッズが0.544倍になります。 -
free.sulfur.dioxide
遊離二酸化硫黄が1単位増加すると、他の変数を一定に保ったまま、より高いワインの品質評価のオッズが1.012倍になります。 -
total.sulfur.dioxide
総二酸化硫黄が1単位増加すると、他の変数を一定に保ったまま、より高いワインの品質評価のオッズが0.999倍になります。 -
density
密度が1単位増加すると、他の変数を一定に保ったまま、より高いワインの品質評価のオッズが1.63e-201倍になります。この値は非常に小さく、数値的な問題やモデル内の多重共線性のために生じる可能性があります。 -
pH
pHが1単位増加すると、他の変数を一定に保ったまま、より高いワインの品質評価のオッズが7.912倍になります。 -
sulphates
硫酸塩が1単位増加すると、他の変数を一定に保ったまま、より高いワインの品質評価のオッズが6.142倍になります。 -
alcohol
アルコールが1単位増加すると、他の変数を一定に保ったまま、より高いワインの品質評価のオッズが1.537倍になります。