0

私は個人の年収を含むパネル データを持っており、個人の年収の傾向、つまり年収の個人係数、および年ごとの各個人の残差 (私のモデルによる予想外の収入の変化) に関心があります。 . ただし、少なくとも 1 年以上にわたって収入データが欠落している観測がたくさんあるため、線形回帰を使用すると、観測の大部分が失われます。データ構造は次のようになります。

caseid<-c(1,1,1,1,1,1,2,2,2,2,2,2,3,3,3,3,3,3,4,4,4,4,4,4)
years<-c(1998,2000,2002,2004,2006,2008,1998,2000,2002,2004,2006,2008,
1998,2000,2002,2004,2006,2008,1998,2000,2002,2004,2006,2008)
income<-c(1100,NA,NA,NA,NA,1300,1500,1900,2000,NA,2200,NA, 
NA,NA,NA,NA,NA,NA, 2300,2500,2000,1800,NA, 1900)
df<-data.frame(caseid, years, income)

ランダム効果モデルを使用することにしました。これは、最尤アプローチを使用して、欠落した年の収入を予測できると思います。ただし、Hausman Test は有意な結果を出すため、固定効果モデルを使用することにしました。そして、plm パッケージを使用して、以下のコードを実行しました。

inc.fe<-plm(income~years, data=df, model="within", effect="individual")

ただし、個人ではなく年数の係数のみを取得します。そして、私は残差を得ることができません。おそらくアイデアを与えるために、Stataのコードは

 xtest caseid
 xtest income year
 predict resid, resid

次に、同じライブラリから可変係数の関数である pvcm 関数を実行しようとしました。

inc.wi<-pvcm(Income~Year, data=ldf, model="within", effect="individual")

ただし、次のエラー メッセージが表示されます。

このエラーを解決するか、他の関数を使用して、pvcm で個々の係数と残差を取得するにはどうすればよいですか?

私の元の長い形式のデータには、202976 回の観測と 15 年があります。

また、私が選択した分析方法に関するコメントや提案をいただければ幸いです。どうもありがとうございました。

4

2 に答える 2

2

fixefパッケージの関数は、plm探しているものを提供しますか? あなたの例を続ける:

fixef(inc.fe)

残差は次の方法で抽出されます。

residuals(inc.fe)
于 2016-05-26T10:15:07.143 に答える
0

ランダムな勾配と切片を持つランダム効果モデルがあります。これは、ランダム係数回帰モデルとも呼ばれます。欠落はトリッキーな部分であり、(推測では) 解決方法を選択した後、カスタム コードを記述して解決する必要があります。

しかし、私が知る限り、モデルを明確/適切に指定していません(少なくとも質問では)。いくつかの用語を定義しましょう:

Y_it = 年 t (t= 1,...,T) の ind i (i= 1,..., N) の収入とします。あなたの質問を読みましたが、あなたは以下の 2 つのモデルのどちらを希望するかを指定していません。

M1: ランダム インターセプト、グローバル スロープ、ランダム スロープ

Y_it ~ N(\mu_i + B T + \gamma_i I T, \sigma^2) 
\mu_i ~ N(\phi_0, \tau_0^2) 
\gamma_i ~ N(\phi_1, tau_1^2)

M2: ランダム切片、ランダム勾配

Y_it ~ N(\mu_i + \gamma_i I T, \sigma^2) 
\mu_i ~ N(\phi_0, \tau_0^2) 
\gamma_i ~ N(\phi_1, tau_1^2)

また、サンプル データは無意味です (以下を参照)。ご覧のとおり、すべてのパラメーターを推定するのに十分な観測値がありません。私はよく知りませんlibrary(plm)が、上記のモデル (欠損なし) は簡単に推定lme4できます。現実的なサンプル データセットがなければ、わざわざコードを提供するつもりはありません。

R> table(df$caseid, is.na(df$income))

    FALSE TRUE
  1     2    4
  2     4    2
  3     0    6
  4     5    1

欠落がある場合、EM などの一般的な方法を使用して、いずれかの階層モデルの推定値を作成できるはずです。しかし、見積もりを自分で行うには、コードを作成する必要があると思います。

于 2016-05-26T04:30:57.470 に答える