Stata 16の新機能

先進の手法を多数実装!

近年の統計学の成果をいち早く取り入れ、Stataは大幅な進化を遂げました。

「Lasso法を用いた機械学習」「非線形DSGEモデル」「メタ分析」「選択モデル」など最新手法が搭載され、内生性を扱う「拡張回帰モデル」や「ベイズ分析」など既存機能との融合が進んだことで、高度な次元の解析が実現可能になりました。

Lassoベースの機械学習

Lassoベースの機械学習 Lassoはモデル選択、予測、そして統計的推測に利用可能な機械学習の統計的技術です。新しいlassoコマンドを利用する事により連続、頻度、二値のアウトカムを取り扱う線型、ポアソン、ロジット、プロビットの回帰モデルで最適な予測値の計算が可能となります。Stata16のlassoコマンドでは変数の選択だけでなく、係数、標準誤差、信頼区間の推定、そして係数の診断まで11のコマンドが用意されています。

より詳しく

例えば、次のようなコマンドを実行します。

. lasso linear y x1-x500

lassoは変数群の中から例えば最適なフィットを実現するx2, x10, x11, x21の変数セットを選択します。そこで標準的なpredictコマンドを実行することでyの予測値を計算します。

二値データや頻度データをアウトカムとする場合はlasso logit, lasso probit, lasso poissonといったコマンドを実行します。変数選択で elastic net や square-root lasso 法を利用する場合はelasticnetsqrtlassoといったコマンドを利用します。新たに提供されるコマンドは次の通りです。

dsregress, dslogit, dspoisson, poregress, pologit, popoisson, poivpoisson, xporegress, xpologit, xpopoisson, xpoivregress

dsで始まるコマンドは二重選択型lassoコマンドです。poは部分選択型、xpoはクロスフィットによる部分選択型のlassoコマンドを意味しています。アウトカムの種類は連続、二値、頻度に対応しています。アウトカムが連続変数である場合は、内生変数を含むモデルでも利用可能です。lassoベースの統計的推測の手法には様々な提案があり、今回、できるだけ多くの手法を新たにサポートしました。

lassoelasticnetは変数選択と予測に利用される標準的な機械学習のコマンドです。統計的推測に利用するlassoの新しいコマンド群は元々、計量経済学者によって開発された手法ですが、今日では係数の診断と解釈を必要とする様々な分野の研究者にとってニーズの高い分析手法となっています。

詳細を非表示に

 

レポート機能

レポート機能 Stataのレポート機能では、Stataから出力した結果やグラフ、表をWordやPDF、Excel、HTML文書として作成できます。Stata 16では作成したファイルの種類を問わず、データの変更に伴って更新される動的なレポート機能を新たに用意しました。更新済みのデータセットを準備して、コマンドやdoファイルを再実行するだけで、更新されたレポートが自動的に作成されます。

メタ分析

メタ分析 Stata 16はメタ分析用のコマンドセットを新たに用意しました。これにより一次研究の効果量を統合して考察することが可能になりました。例えば、血圧に一定の効果を与える事を報告している20本の一次研究を集め、メタ分析により統合した効果量を求めることができます。メタ分析は従来からadoファイルにより実行可能でしたが、純正コマンドによって使い勝手を向上させました。

より詳しく

metaコマンドのセットは豊富な機能と使いやすさを両立しました。メタ分析を行う際は次のような設定を最初に行います。

. meta set effectsize stderr

統合した効果量とその信頼区間を推定する時は統計的異質性を確認したり、統合の結果を視覚的に表現するために、フォレストプロットを作成できます。

meta のコマンドセットはこれだけではありません。 メタ回帰分析とサブグループ分析は一次研究の異質性を評価する用途にも利用可能です。 これらの分析を行うためにmeta regress, meta forestplot, subgroup(), meta summarize, subgroup()などのコマンドセットが用意されています。

潜在的な出版バイアスを調べることもできます。一次研究の非対称性を視覚的に捉えるファンネルプロットの作成にはmeta funnelplot, 非対称性の仮説検定はmeta bias,非対称性をもたらしている一次研究の欠落を補って出版バイアスを調査するコマンドmeta trimfillを用意しました。累積メタ分析の実行には meta summarize, cumulative()を利用します。

詳細を非表示に

 

選択モデル

Stata 16では選択データモデリングのための統一されたコマンドが導入されました。選択データを要約する新しいコマンドが追加され、既存の選択モデルコマンドも改良され、コマンド名が変更されました。さらに、パネルデータを用いた混合ロジットモデルのコマンドが追加され、機能を詳しく解説したChoice Models Manualを用意しました。

より詳しく

選択モデルに用いられるcm推定コマンドは次の通りです。

  • cmclogit: 条件付きロジット(McFadden’ choice)モデル
  • cmmixlogit: マルチレベル混合ロジットモデル
  • cmxtmixlogit: パネルデータを用いたマルチレベル混合ロジットモデル
  • cmmprobit: 多項プロビットモデル
  • cmrologit: 順序ロジットモデル

そして、cmsummarize, cmchoiceset, cmtabおよびcmsampleのそれぞれのコマンドで、データの確認、要約、さらに潜在的な問題を検討します

選択モデルでは、フィット結果を解釈するのにmarginsコマンドがとても有効です。選択モデルで推定された係数はほとんどの場合、解釈が難しいものですが、marginsコマンドならば、推定された結果に基づいた特定の問いを立て、それに対する答えを得ることができます。例えば次のようなものです。

  • どの程度の旅行者が空路を選択するか?
  • 収入が10,000ドル増えるごとに車で移動する機会がどのように変化するか
  • 空港での待ち時間が現在より30分増えると、他の交通手段にどのような影響を与えるか?

詳細を非表示に

 

Pythonとの連携

Pythonとの連携 Stata16では、StataからPythonのコードを実行することが可能になりました。新しいコマンドpyhthonではStataからPythonのコードを実行して、結果を得ることができます。コマンドウィンドウだけでなく、doファイルやadoファイルからもPythonを呼び出すことができます。また、Pythonスクリプトファイル(.py)をStataから直接実行できます。

ベイズ分析の新機能-複数チェーンと予測

複数チェーン

ベイズ分析の新機能 マルコフチェーンの計算が収束した場合に限りMCMC(マルコフチェーンモンテカルロ)法によるベイズ推定の結果は適切であると考えることができます。収束状態を判断する方法の一つとしてシミュレーションで複数のチェーンを比較するという方法があります。Stata16ではbayes:プリフィックスとbayesmhコマンドに新たにnchains()オプションを追加しました。

より詳しく

例えば次のように入力します。
. bayes, nchains(4): regress y x1 x2

このコマンドにより4つのチェーンが作成されます。この4つのチェーンを組み合わせてより高精度な推定結果を求める事も可能ですが、それらのチェーンを視覚的に比較して収束状況を確認します。収束の確認にはGelman–Rubin の診断法が利用できます。複数チェーンのシミュレーションを実行したあとでbayes: regress など、いくつかの推定コマンドを実行すると、この診断結果も報告されます。収束しない事に関心がある 場合はbayesstats grubin コマンドを利用します。これはモデルに含まれる各パラメータに対して個別にGelman–Rubinの診断を実行します。

詳細を非表示に

 

ベイズ予測

ベイズ予測とは事後予測分布を利用してシミュレーションを行うものです。この手法はモデルのフィットを吟味し、アウトオブサンプルの予測に適しています。bayesmhコマンドでモデルをフィットした場合、bayespredict コマンドを利用することでシミュレーションの予測値やその関数を計算し、それらを新たなデータセットとして保存できます。例えば次のように入力します。

より詳しく

例えば次のように入力します。
. bayespredict (ymin:@min({_ysim})) (ymax:@max({_ysim})), saving(yminmax)

このコマンドはシミュレーションした値の最大/最小値を求めます。この他にも予測値の要約統計量を調べる場合にbayesgraphなどの推定後に利用するコマンド群が用意されています。

bayespredictコマンドは数千個のシミュレーション値から新たなデータセットを作成します。もちろん、全てのシミュレーション値が必ずしも必要とは限りません。そのようなケースでは事後分布による要約統計量として平均や中央値などをbayespredict, pmean, bayespredict, pmedianといったコマンドで求めることができます。また、シミュレーション値からのランンダムサンプリングもサポートしています。

モデルの適合度を評価する場合には、事後分布による予測p値(PPP/ベイズ予測p値)を利用します。PPPは観測値とシミュレーション値の一致度を計測する指標であり、新しいコマンドbayesstats ppvaluesを用いて求めます。

詳細を非表示に

 

パネルデータERM

拡張回帰モデル(Extended regression model)は前バージョンで追加された新機能でした。ERMは観測データを分析する際に考慮しなければならない3つの問題(内生性、選択バイアス、処置)に対応した推定手法です。Stata 16ではさらにこの機能をパネルデータ用に強化し、ランダム効果線形モデル、間隔モデル、プロット及び順序プロビットモデルに対応しています。これらのコマンドを利用することで、先の3つの問題とパネル間の相関を考慮した推定が可能になりました。

研究分野を問わず、観測データを利用するすべての研究者にとってERMは有効です。

SASとSPSSからのデータインポート

SASとSPSSからのデータインポート Stata 16で追加されたimport sasとimport spssコマンドでは、SAS形式(.sas7bdat)とSPSS形式(.sav)のデータをインポートできます。ダイアログボックスを操作することで、インポートを実行する前に、データを確認して、必要であれば変数や観測値のサブセットを選択できます。

ノンパラメトリックシリーズ回帰

Stata16に新しく追加されたnpregress series は多項式、Bスプライン、または、共変量を利用したスプライン関数を用いて、被説明変数の平均値に対するノンパラメトリックなシリーズ回帰を実行します。ユーザが関数形を指定する必要はなく、モデルで利用する変数を選択するだけです。

より詳しく

例えば、次のコマンドを実行します。
. npregress series wineoutput rainfall temperature i.irrigation

このコマンドを実行しても係数が出力されることはありません。npregress seriesコマンドは連続変数の場合は平均限界効果を、そしてカテゴリー変数の場合は対比を報告します。例えば、降雨量rainfallの平均限界効果が1で灌漑irrigation の対比が2であるとします。この時の対比は灌漑の平均処置効果として理解できます。

ノンパラメトリック回帰の場合、平均値が不明な変数については共変量のシリーズ関数で近似を行います。それだけに留まらず、パラメトリックモデルを利用して統計的推測を行うこともできます。その場合は次の示すようにmarginsコマンドを利用します。

詳細を非表示に

 

メモリに複数のデータセットをロード

複数のデータセット Stata 16ではメモリに複数のデータセットをロードできるようになりました。これで、メモリに2つ以上のデータセットがロードできます。ロードされたデータはフレームという単位で管理されます。ほとんどのStataコマンドは作業中のフレームに対して実行されます。一度にメモリにロードできるフレームの最大数は100であり、これらを自由にリンクさせることができます。

信頼区間のためのサンプルサイズの分析

新しいciwidthコマンドは、信頼区間のためのサンプルサイズの分析、Prescision and Sample Size(PrSS)解析を行います。これは、研究の計画段階で信頼区間の設定に最適なリソースを設定するときに利用します。言い換えれば、サンプルサイズが研究で計画された信頼区間を満たしているかを推定することができます。bciwidthは次のサンプルサイズ、正確性を推定します。

  • 1つの平均値のCI
  • 1つの分散のCI
  • 1つの独立した平均値のCI
  • 2つのペアの平均値のCI

非線形DSGEモデル

Stata 16では、非線形DSGEモデルの推定を行うコマンドdsgenlが追加されました。ほとんどのDSGEモデルは非線形ですが、dsgenlに分析モデルを入力すると、自動的に線形化して分析を行います。パラメータの推定の後、遷移行列を確認したり、モデルの定常状態を決定したり、変数の分散・共分散・自己共分散を推定、またはインパルス応答関数を作成し、グラフに表すことができます。
これらは、マクロエコノミストや中央銀行にとっては、最もお勧めできる機能です。

複数グループのIRTモデル

IRTモデルは潜在的(非観測)な特徴と、その特徴の効果を計測する項目との関係を探索するためのモデルです。具体的に言えば数学の能力のように、直接、観測できない特徴を標準化して計測する際に利用します。Stataのirtコマンドは 1,2または3パラメータロジスティックモデルをフィットします。Stata 16ではさらにirtコマンドでグループ間の比較が可能になりました。既存のirtコマンドにgroup(varname)オプションを追加するだけで複数グループのモデルにフィットを実行できます。

 

 

開発元StataCorp.ホームページ Stata16特設ページoutside link icon