Main Content

同時相関を使用する固定効果のパネル モデル

この例では、mvregress を使用してパネル データ解析を実行する方法を示します。最初に、同時相関を使用する固定効果モデルが、通常の最小二乗 (OLS) により一部のパネル データに当てはめられます。次に、推定誤差の共分散行列を使用して、回帰係数のパネル補正標準誤差を取得します。

標本データを読み込みます。

標本パネル データを読み込みます。

load panelData

データセット配列 panelData には 6 年間の 8 つの都市に関する年間観測が含まれます。このデータは、シミュレーションされたものです。

変数を定義する。

最初の変数 Growth では、経済成長 (応答変数) が測定されます。2 番目と 3 番目の引数は、それぞれ都市と年のインジケーターです。最後の変数 Employ は、雇用 (予測子変数) を測定します。

y = panelData.Growth;
city = panelData.City;
year = panelData.Year;
x = panelData.Employ;

カテゴリ別にデータをプロットします。

潜在的な都市に特有の固定効果を見つけるには、都市別にグループ化された応答で箱ひげ図を作成します。

figure()
boxplot(y,city)
xlabel('City')

Box plot of the response grouped by city

都市間の平均応答には体系的な差異がないように見えます。

カテゴリ別にグループ化されたデータをプロットする。

潜在的な年固有の固定効果を見つけるには、年別にグループ化された応答の箱ひげ図を作成します。

figure()
boxplot(y,year)
xlabel('Year')

Box plot of the response grouped by year

年間の平均応答における体系的な差異の証拠が存在する可能性があります。

応答データの形式を指定する。

yij で、年 i = 1,...,n における都市 j = 1,...,d の応答を示します。同様に、xij は予測子変数の対応する値です。この例では、n = 6 および d = 8 になります。

年固有の固定効果モデルの当てはめを考えます。このモデルでは、同じ年に複数の都市間で同時相関があり勾配が一定になっているとします。

yij=αi+β1xij+εij,i=1,,n,j=1,,d,

ここで、εi=(εi1,,εid)MVN(0,Σ) です。同時相関は、いくつかの都市の成長に同様の影響を与える可能性のある、未計測の時間固定因子を説明します。たとえば、空間的に近接する都市では、同様の経済成長を遂げる可能性が高くなります。

mvregress を使用してこのモデルを当てはめるには、応答データを n 行 d 列の行列の形状に変更します。

n = 6; d = 8;
Y = reshape(y,n,d);

計画行列の形式を指定する。

d 行 K 列の計画行列の長さが n の cell 配列を作成します。このモデルの場合は、K = 7 個のパラメーター (d = 6 個の切片項と 1 つの勾配) があります。

パラメーターのベクトルを次のように編成するとします。

β=(α1α2α6β1).

この場合、年 1 に対応する 1 番目の計画行列は次のようになります。

X{1}=(100x11100x120100x18),

年 2 に対応する 2 番目の計画行列は次のようになります。

X{2}=(0100x210100x22000100x28).

残りの 4 年に対応する計画行列も同様です。

K = 7; N = n*d;
X = cell(n,1);
for i = 1:n
    x0 = zeros(d,K-1);
    x0(:,i) = 1;
    X{i} = [x0,x(i:n:N)];
end

モデルを当てはめる。

通常の最小二乗 (OLS) を使用してモデルを当てはめます。

[b,sig,E,V] = mvregress(X,Y,'algorithm','cwls');
b
b =

   41.6878
   26.1864
  -64.5107
   11.0924
  -59.1872
   71.3313
    4.9525

近似したモデルをプロットする。

xx = linspace(min(x),max(x));
axx = repmat(b(1:K-1),1,length(xx));
bxx = repmat(b(K)*xx,n,1);
yhat =  axx + bxx;

figure()
hPoints = gscatter(x,y,year);
hold on
hLines = plot(xx,yhat);
for i=1:n  
   set(hLines(i),'color',get(hPoints(i),'color'));
end
hold off

Plot of y versus x showing the data and fitted model for each year

年固有の切片と共通する勾配をもつモデルは、データを十分に近似できる可能性があります。

残差の相関。

残差を年別にグループ化してプロットします。

figure()
gscatter(year,E(:),city)
ylabel('Residuals')

Scatter plot of residuals versus year for each city.

残差プロットでは、同時相関が存在することが示されます。たとえば、都市 1、2、3、4 は、特定の年の 1 つのグループとして一貫して平均より上または下になります。同じことは都市 5、6、7、8 の集合にも該当します。プロットした結果から、体系的な都市固有の効果はないことがわかります。

パネル補正標準誤差。

推定誤差の分散共分散行列を使用して、回帰係数のパネル補正標準誤差を計算します。

XX = cell2mat(X);
S = kron(eye(n),sig);
Vpcse = inv(XX'*XX)*XX'*S*XX*inv(XX'*XX);
se = sqrt(diag(Vpcse))
se =

    9.3750
    8.6698
    9.3406
    9.4286
    9.5729
    8.8207
    0.1527

参考

|

関連する例

詳細