table
コマンドが改良されました。collect
プレフィックスを用いてあらゆるコマンドの実行結果を「コレクション」として保存し、表作成、様々な形式へのエクスポートなどが可能です。Stata 17の新機能ブックマークとナビゲーションコントロールにより、Doファイルエディタでの操作がより快適になりました。
多くのユーザ様からご要望をいただいていた、Doファイル内へのブックマーク保存機能が追加されました。
注目したい行にブックマークを付けておくと、のちほど簡単に見返すことができます。また、ブックマークした箇所へのジャンプ機能により、Doファイルエディタ上でスクロールする手間が省けます。
行数の多いDoファイルを作成・利用する際に特に便利な機能です。
ナビゲーションコントロールで、Doファイル内のブックマークとそのラベルの一覧表示、ブックマークした箇所へのジャンプができます。ブックマークの他、Doファイル内に定義されたプログラムを自動で認識し、ナビゲーションコントロールに表示します。
StataとMataに、日付と時間を操作するための便利な関数が追加されました。新しい関数は、下記の3つのカテゴリーに分類されます。
これらの関数は、うるう年、うるう日、うるる秒を正確に処理します。
Stataは、計算処理の精度と速度を重視しています。
Stata 17では高速化のために、sort
およびcollapse
コマンドのバックグラウンドのアルゴリズムを更新しました。
また、マルチレベル混合効果モデルをフィットするmixed
などの一部の推定コマンドの速度が向上しました。
新たな推定コマンドdidregress
とxtdidregress
は、繰り返し計測されたデータに対して差分の差分(DID)モデルと差分の差分の差分または三重差分(DDD)モデルをフィットします。didregress
は繰り返しクロスセクションデータに対して機能し、xtdidregressは断片データ/パネルデータに対して機能します。
DIDとDDDモデルは繰り返し計測されたデータに対して処置における平均処置効果を推定するために使用されます。処置効果とは、血圧における薬物療法の効果や従業員の教育プログラムの効果などを指します。
一般的なクロスセクションデータと異なり、DID分析ではグループ単位で繰り返し計測される場合において平均処置効果の推定時にグループと時間効果をコントロールします。
DDD分析では、追加のグループ効果とそれらの時間との相互作用をコントロールします。3つのグループ変数を指定するか、2つのグループ変数と時間変数を指定します。
セミパラメトリックCox比例ハザードモデルは、一般に非打ち切りや右側打ち切りのイベント時間データの分析に使われてきました。新しい推定コマンドstintcox
は、区間打ち切りイベント時間データにCoxモデルをフィットします。
区間打ち切りとは、関心のあるイベントの時間が直接観測できず、ある期間を置いて知るような場合を指します。例えば、がんの再発は定期健診において発見されますが、正確な時間は観測されません。分析者が知ることができるのは、がんは前回と今回の検診の間のどこかで再発したという情報のみです。
このような区間打ち切りを無視すると、偏った分析結果が生じる可能性があります。
ベースラインハザード関数が完全に指定されていない場合、区間打ち切りイベント時間データのセミパラメトリック推定はイベント時間を正確に観測できないため、挑戦的です。そのため、これらのデータの「セミパラメトリック」モデリングでは、ベースラインハザード関数にスプライン法または区分的指数モデルを使用することがありました。
これまで区間打ち切りイベント時間データのセミパラメトリックモデリングは利用できませんでしたが、方法論の進歩によりstintcox
コマンドが実装されました。
メタ分析とは、複数の研究から結果を分析し、関連のありそうな複数の効果量をレポートする手法です。
既存のmeta
コマンドを使う場合、個別のメタ分析では相関が無視されます。新しいコマンドmeta mvregress
を使用すると、多変量メタ分析を実行し、相関を考慮することができます。
新しいコマンドmeta galbraithplot
は、メタ分析においてGalbraithプロットを生成します。Galbraithプロットは、研究の不均一性の評価と潜在的な外れ値の検出に使われます。また、多くの研究がある場合にメタ分析の結果を集約するためのフォレストプロットの代わりとして使用されます。
meta summarize
またはmeta forestplot
コマンドのオプションとして、leaveoneout
が追加されました。このオプションにより、Leave-one-outメタ分析を実行できるようになりました。
Leave-one-outメタ分析は、各分析で一つの研究を除外して多変量メタ分析を実行します。一般に、研究では誇張された効果量を生み出すことがあり、全体の結果を歪める可能性があります。
Leave-one-outメタ分析は全体の効果量の推定に各研究が与える影響を調べ、影響力のある研究を特定するのに便利です。
新しい推定コマンドxtmlogit
は、時間経過と共に観測されたカテゴリのアウトカムにパネルデータ多項ロジット(MNL)モデルをフィットします。
例えば、数週間にわたって収集された個人のレストランの選択に関するデータがあるとします。レストランの選択は順序のないカテゴリカルなアウトカムであり、既存のmlogit
コマンドをクラスタロバスト標準誤差と共に使用します。
それに対して、xtmlogit
コマンドは個々の特徴を直接モデル化し、したがってより効率的な結果を得られます。そして、共変量と相関する可能性のある特徴を適切に考慮することができます。
新たな推定コマンドziologit
は、ゼロ拡大順序ロジスティック回帰モデルをフィットします。このモデルは、最も低いカテゴリが標準的な順序ロジットモデルが期待するよりも高い割合で観測されるようなデータに適用されます。通常、行動や特性がないことに対応するため、最も低いカテゴリをゼロとして参照します。
ゼロ拡大は、ロジスティックモデルと順序ロジスティックモデルの両方でゼロが生じることを想定して考慮されます。それぞれのモデルは異なる共変量を持つことができ、結果を係数の代わりにオッズ比で表示することもできます。
nptrend
コマンドは、順序付けされたグループ全体の傾向に対して下記の4つの検定を行うことができます。
v16以前ではnptrend
コマンド実行時にCuzick検定が実行されていましたが、v17では新たに追加された検定を選択することができます。
処置効果の推定には、teffects
コマンドを使います。そして、数百、数千個以上の共変量を操作するには、lassoを使います。
新しいコマンドtelasso
を使うことで、多くの共変量の操作とともに処置効果を推定することができるようになりました。
lasso解析でクラスターデータを扱えるようになりました。
クラスターを無視して分析を行うと、同一クラスターに属する観測値同士の相関により不正確な結果が得られる場合があります。
asso
lとelasticnet
コマンドでcluster({\it clustvar})
オプションを使用して、クラスターを指定できるようになりました。poregress
コマンドでは、新しいオプションvce(cluster {\it clustvar})
を設定できます。Stata17ではベイズ計量経済学的な分析が行えるようになりました。
例えば、職業訓練プログラムの参加者が、将来5年間失業しない確率はどの程度か、といった経済学的な問いに対して確率的に回答を提示したり、過去の経済学的な知識を結びつけたりといった場合にStataのベイズ計量経済学の機能が役に立ちます。横断面、パネル、マルチレベル、時系列などの様々なベイジアンモデルをフィットしましょう。ベイズ因子でモデルを比較し、予測を行います。
計量経済学でベイズ統計を用いることの利点は、モデルパラメータに関する外的な情報を自らの研究に取り込むことができるということです。このような情報は、過去のデータや経済過程によるものです。いずれにしても、ベイジアンアプローチでは、外部情報と実際の観測データを組み合わせて、興味のある経済過程に対してより現実的な観点で見ることができます。
bayesプリフィックスコマンドがvarコマンドに対応し、ベイジアンベクトル自己回帰(VAR)モデルにフィットできるようになりました。
VARモデルは、アウトカム変数のラグを含む複数の時系列間の関連を研究するモデルです。K個のアウトカム変数とp期のラグであれば、少なくともp(K^2+\nn1)個のパラメータを持ちます、このようなVARモデルには多くのパラメータがあることが知られています。特に小さなデータセットでは、信頼できる推定を行うのは難しいものです。
ベイジアンVARモデルでは、モデルパラメータに関する事前情報を利用して、パラメータ推定を安定化することができます。
bayesmh
コマンドにランダム効果の構文を追加して、様々なベイジアンマルチレベルモデルにフィットできるようになりました。単変量および多変量の線形・非線形マルチレベルモデルを簡単にフィットできます。線形・非線形、マルチレベルモデル、縦断的・生存時間モデル、SEM形式のモデルなどで利用できます。
これまで、パネルまたは縦断的データを用いて、連続的なアウトカムにはxtreg
コマンド、二値アウトカムにはxtlogit
とxtprobit
、順序アウトカムにはxtologit
とxtoprobit
でフィットできました。Stata17では、これらにbayes
プリフィックスを追加するだけでベイズ推定を行うことができます。
動学的予測は、VARモデルなどの多変量時系列モデルをフィットした後によく用いられる予測手法です。従来のvar
コマンドでは推定後に、fcast
で動学的予測が可能でした。新しいbayes: var
コマンドでは、ベイジアンVARモデルにフィットした後でbayesfcast
でダイナミックなベイズ予測を行います。
ダイナミックなベイズ予測では、従来の単一予測とは異なり、サンプル全体の予測値を求めます。このように作成されたサンプルでは、正規性の仮定を用いずに将来予測を行うことができます。特に正規性が担保できない小さなデータセットにおいて威力を発揮します。
インパルス応答関数(IRF)、動学的乗数関数および予測誤差分散分解(FEVD)は、VARのような多変量時系列モデルの結果を確認するためによく用いられます。しかし、VARモデルはパラメータが多く解釈が難しいものです。IRFとその他の関数では複数のパラメータの効果を1つに統合します。つまり、IRFはアウトカムのショック(変化)に対する変数の影響を計測します。
ベイジアンIRFでは正規性を仮定しないIRFの”正確”な事後分布から結果を導きます。このため、モデルパラメータの事前情報を利用して、より安定した推定を行うことができます。
罰則パラメータの選択はlasso解析における基礎をなすものです。罰則パラメータが小さければ、変数の数が多くなりすぎ、大き過ぎれば重要な変数を除外してしまうことがあります。
lasso推定では、すでに交差検証、適用型lasso、プラグインなどの罰則選択が利用できました。新しく導入されたselection(bic)
オプションでは、lasso推測の後でベイズ情報基準(BIC)を利用して罰則パラメータの選択が可能になりました。さらに推定後の機能bicplot
では、lassoモデルにフィットした後の罰則パラメータの関数をBICの値としてグラフで表すことができます。このグラフは、BIC関数を最小化する罰則パラメータの値をグラフィカルに表示します。
dgse
コマンドとdsgenl
コマンドとbayes
プリフィックスを組み合わせることで、線形・非線形のベイジアン動学的確率的一般均衡モデルを行うことができます。30以上もの事前分布からモデルパラメータを選択して、組み込むことができます。ベイジアンIRF解析、信用区間の検定、ベイズ因子を利用したモデル比較が可能です
Stata 17は、互換性のあるハードウェア(すべてのIntel/AMDベースの64-bitコンピュータ)でIntel Math Kernel Library (MKL)を使用して、深く最適化されたLAPACKルーチンを提供します。
LAPACKはLinear Algebra PACKageの略で、連立方程式、固有値問題、特異値問題などのシステムを解くためのルーチンのセットです。 Stataの行列演算プログラムであるMataの演算子と関数(qrd(), lud(), and cholesky()など)は、多くの数値演算でLAPACKを活用します。これにより処理速度の向上が期待できます。互換性のあるハードウェアではIntelMKLが自動的に使用されるため、ユーザは常に最適な環境でStataを使用できます。
JDBC (Java Database Connectivity)のサポートにより、Stataとデータベースの接続がさらに簡単になりました。 JDBCは、プログラムとデータベース間でデータを交換するためのクロスプラットフォームスタンダードです。jdbcはWindows、Mac、およびUnixシステムで作動します。
データベースベンダーがJDBCドライバを提供している場合は、そのドライバをダウンロード、インストールし、jdbcを介してデータベースでSQLの読み取り、書き込み、実行を行うことができます。データベーステーブル全体をStataにロードするか、SQL SELECTを使用してテーブルからStataに特定の列をロードすることができます。すべての変数/一部の変数の挿入も可能です。
Stata 17では、JavaコードをStataに直接埋め込んで実行できるようになりました。
Stataと一緒にJava Development Kit (JDK)がインストールされるため、追加のセットアップは不要です。
PyStataPyStataとは、StataとPythonが相互作用できるStataのシステムです。v16では、StataからPythonコードを呼び出す機能が追加されました。v17では、新たなpystataというPythonパッケージを経由して、スタンドアロンのPython環境からStataを呼び出すことができるように拡張されました。以下のような場合に、StataやMataに手軽にアクセスできます。
Jupyter Notebookはパワフルで利用しやすいWebアプリケーションで、対話式の計算と開発において実行コード、視覚化、数学の方程式や定式化、説明文書、その他のリッチメディアを統合して「notebook」と呼ばれる一つのドキュメントにまとめることができます。研究者や科学者によって、アイデアや結果を共有するために広く使われています。
Stata17ではPyStatの一部として、IPythonカーネルのJupyter NotebookからStataやMataを呼び出すことができます。この機能により、1つの環境でPythonとStataの両方の機能を利用でき、作業の再現や他者との共有を容易にします。Jupyter NotebookからStataを呼び出すには、pystataという新しいPythonパッケージを使用します。
Stata is a registered trademark of StataCorp LLC, College Station, TX, USA, and the Stata logo is used with the permission of StataCorp.