7

Cross-Validated に質問を投稿することを考えていましたが、ここに来ることにしました。nnet パッケージの multinom() 関数を使用して、雇用、失業、または年齢と教育を条件とする労働力からの確率を推定しています。解釈の助けが必要です。

1 つの従属カテゴリ変数雇用状況 (EmpSt) と 2 つの独立カテゴリ変数、年齢 (Age) と教育レベル (Education) の次のデータセットがあります。

>head(df)
               EmpSt   Age                         Education
1           Employed   61+   Less than a high school diploma
2           Employed 50-60 High school graduates, no college
3 Not in labor force 50-60   Less than a high school diploma
4           Employed 30-39       Bachelor's degree or higher
5           Employed 20-29  Some college or associate degree
6           Employed 20-29  Some college or associate degree

レベルの概要は次のとおりです。

>summary(df)
                EmpSt          Age                                    Education    
 Not in universe   :    0   16-19: 6530   Less than a high school diploma  :14686  
 Employed          :61478   20-29:16031   High school graduates, no college:30716  
 Unemployed        : 3940   30-39:16520   Some college or associate degree :28525  
 Not in labor force:38508   40-49:17403   Bachelor's degree or higher      :29999  
                            50-60:20779                                            
                            61+  :26663                                    
  • まず、推定式(モデル)とは

通話の推定式 (モデル) を特定したい

df$EmpSt<-relevel(df$EmpSt,ref="Employed") multinom(EmpSt ~ Age + Education,data=df)

研究論文に書き留めることができます。私の理解では、Employed は基本レベルであり、この呼び出しのロジット モデルは次のとおりです。

ここに画像の説明を入力 ここに画像の説明を入力

ここで、i と n はそれぞれ変数の年齢と教育のカテゴリです (混乱を招く表記で申し訳ありません)。multinom() によって生成されるロジスティック モデルについての私の理解が間違っている場合は、訂正してください。出力が多いため、テストの概要は含めません。以下に、 call の出力のみを含めます>test

> test
Call:
multinom(formula = EmpSt ~ Age + Education, data = ml)

Coefficients:
                   (Intercept)   Age20-29   Age30-39   Age40-49   Age50-60     Age61+
Unemployed           -1.334734 -0.3395987 -0.7104361 -0.8848517 -0.9358338 -0.9319822
Not in labor force    1.180028 -1.2531405 -1.6711616 -1.6579095 -1.2579600  0.8197373
                   EducationHigh school graduates, no college EducationSome college or associate degree
Unemployed                                         -0.4255369                                 -0.781474
Not in labor force                                 -0.8125016                                 -1.004423
                   EducationBachelor's degree or higher
Unemployed                                    -1.351119
Not in labor force                            -1.580418

Residual Deviance: 137662.6 
AIC: 137698.6 

multinom() によって生成されたロジット モデルについての私の理解が正しいとすれば、係数はベース レベルが採用されている場合のログ オッズです。実際のオッズを取得するには、実際のオッズを取得する呼び出しexp(coef(test))でアンチログします。

> exp(coef(test))
                   (Intercept)  Age20-29  Age30-39  Age40-49  Age50-60    Age61+
Unemployed           0.2632281 0.7120560 0.4914298 0.4127754 0.3922587 0.3937724
Not in labor force   3.2544655 0.2856064 0.1880285 0.1905369 0.2842333 2.2699035
                   EducationHigh school graduates, no college EducationSome college or associate degree
Unemployed                                          0.6534189                                 0.4577308
Not in labor force                                  0.4437466                                 0.3662560
                   EducationBachelor's degree or higher
Unemployed                                    0.2589504
Not in labor force                            0.2058891

次の質問に移ります。

  • 第二に、確率

年齢と教育の組み合わせに基づいて、失業者と雇用者の実際の確率を取得する方法があるかどうか疑問に思います。長い質問で申し訳ありません。ご協力いただきありがとうございます。追加の説明が必要な場合はお知らせください。

4

1 に答える 1

5

multinomあなたの最初の質問について、私はカテゴリ変数についても疑問を抱いています(これが私の質問です: Multinom with Matrix of Counts as Response )。

ユーザーがその質問に答えたことと>testあなたが投稿した出力から、あなたが書いた数学は部分的に正しいと思います: 実際、多項式モデルは、予測変数が連続的または二分的である場合にのみ機能するはずです (つまり、値が 0 または1)、そしてmultinom、あなたの例のように、カテゴリ変数を予測子として取得すると、R自動的にそれらをダミー変数 (0 または 1 のみ) に変換するようです。

あなたの例を参照すると、Age予測子のみを考慮してln(\frac{Pr(unemployed)}{Pr(employed}) = \beta_0 + \beta_1*Age20-29 + \beta_2*Age30-39 + ...、 と の類似の式が必要ですが、係数Pr(not in labor force)は異なります。\beta

2 番目の質問について: はい、方法はあります。を使用しますpredict(test, newdata, "probs")。ここで、はエントリとしてとnewdataを持つ配列です(例を示します)。Age20-29High school graduates, no college

于 2014-03-10T07:59:58.493 に答える