CRAN Task View: Missing Dataの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。
Maintainer: | Julie Josse, Imke Mayer, Nicholas Tierney, and Nathalie Vialaneix (r-miss-tastic team) |
Contact: | r-miss-tastic at clementine.wf |
Version: | 2023-06-20 |
URL: | https://CRAN.R-project.org/view=MissingData |
Source: | https://github.com/cran-task-views/MissingData/ |
Contributions: | このタスクビューに対する提案や改良は、GitHubのissueやpull request、またはメンテナのアドレスに電子メールで送ってください。詳しくはContributing guide をご覧ください。 |
Installation: | このタスクビューのパッケージは、ctvパッケージを使用して自動的にインストールすることができます。例えば ctv::install.views(“MissingData”, coreOnly = TRUE) は全てのコアパッケージをインストールし、 ctv::update.views(“MissingData”)はまだインストールされていない最新状態のパッケージを全てインストールします。詳しくはCRAN Task View Initiativeを参照してください。 |
欠測はデータセットに非常に頻繁に見られます。Base Rには、観測データのみを含む計算を使用して欠損データを処理するオプションがいくつか用意されています (mean, var, …関数では na.rm = TRUE、cov, cor, …関数では use = complete.obs|na.or.complete|pairwise.complete.obs)。基本パッケージstatsは、オブジェクトを作成するために使用されるNAアクションの情報を抽出する汎用関数na.actionも含んでいます。さらに、ie2miscは、欠損データに関してオリジナルの + 演算子と異なる動作をする dyadic 演算子を含んでいます。
これらの基本的なオプションは、CRAN上の多くのパッケージによって補完されています。このタスクビューでは、1年以上前に公開され、定期的に更新されている、最も重要なものに焦点を当てました。タスクビューは主要なトピックで構成されています。
- Exploration of missing data
- Likelihood based approaches
- Single imputation
- Multiple imputation
- Weighting methods
- Specific types of data
- Specific application fields
現在のタスクビューに加えて、reference website on missing dataも役に立つかもしれません。また、TimeSeries、SpatioTemporal、Survival、OfficialStatisticsにも補完的な情報があるかもしれません。時空間補間や打ち切りデータを扱うほとんどのパッケージは、欠損データタスクビューの対象外であることに注意してください。
もし、このリストの中に重要なパッケージを見逃していると思われる場合は、メンテナにメールを送るか、上記のリンク先のGitHubリポジトリにイシューまたはプルリクエストを提出してください。
欠損データの調査
- 欠損データの操作は、sjmisc、sjlabelled、retroharmonize、mde(欠損パターンを探索する基本関数も提供)、およびtidyr(tidyverseの原則に従う)パッケージで実装されています。
- memiscは、定義可能な欠損値、調査データおよび変数ラベルの管理のためのインフラストラクチャを提供します。
- miとwrangle、DescTools、dlookr、naniarを使用して欠損データのパターンを特定し、探索することが可能です。
- 欠損データの分布やパターンを表現するグラフィックは、VIM (Graphical User Interface, VIMGUIを持ち、現在はCRANにアーカイブされている)とnaniar(tidyverseの原則に従う)で実装されています。
- MAR仮定(対MCAR仮定)の検定:
- MCAR仮定に対するLittleの検定は、misty に実装されています。
- RBtestは、欠損データのメカニズムをテストする回帰ベースのアプローチを提案しています。
- samon (archived)は、MARの仮定の妥当性をチェックするために臨床試験で感度分析を実行します。
- isniは、無視可能性の仮定に対する感度を、無視可能性に対する局所的な感度の指標を計算することによってテストします。
- 評価:
- missCompareとmissMethodsは、異なるインピュテーション戦略を(診断と可視化で)比較するためのフレームワーク全体を提供します。
- Iscoresは,KLベースのスコアリングルールを用いて,インピュテーションの品質を評価するのにも有用です。
- シミュレーションは,miceの関数ampute,シミュレーションのための非常に一般的なフレームワークを提案するsimFrame,単純回帰モデルおよび一般化線形回帰モデルにおけるデータと欠損値をシミュレーションするsimglmを用いて実行することができます。
- imputeTestbenchは、一変量時系列のインピュテーションを評価するベンチマークを提供します。
- miとVIMは、インピュテーションの品質を評価するのに役立つ診断プロットも提供しています。
尤度ベースのアプローチ
- 期待値最大化(EM)アルゴリズムに基づく手法は,norm(多変量ガウスデータ用の関数 em.norm)、norm2(関数 emNorm)、cat(多変量カテゴリデータ用の関数 em.cat)、mix(多変量混合カテゴリおよび連続データ用の関数 em.mix)に実装されています.これらのパッケージは、同じモデル(norm、cat、mixのda.XXX関数)に対してベイズアプローチ(インプットと事後ステップ)を実装し、モデルパラメータが推定された後、インプットされた完全なデータセットまたは複数のインプット(norm、cat、mixのimp.XXX関数)を得るために使用することができます。
- monomvnは、欠落パターンが単調な場合、多変量正規分布とスチューデント分布に対して同様の方法を提案します。
- imputeMulti、MMDaiは,これらの手法を拡張したもので,それぞれ連続データ(最初のパッケージ)あるいはカテゴリデータ(他の2つのパッケージ)に対して,多変量欠損データの異なる混合モデルを適合するEM手法を使用しています。
- RMixtCompIOは、欠損データを扱う混合モデルの完全なライブラリで、C++ライブラリのMixtCompをベースにしています。
- 様々なグラフィカル、ゲッター、ユーティリティ関数を提供するRMixtCompUtilitiesと組み合わせて使用することができます。
- ppmSuiteは、共変量値が欠落している階層的ガウシアンモデルとプロビットモデルが実装されています。
- PReMiuMは、共変量値が欠損している場合のディリクレ過程混合モデル(クラスタ・メンバーシップを通して共変量と応答を結びつける回帰モデル)を実装しています。
- imputeRは、EMベースのインピュテーションフレームワークを使用しており、Lasso、ツリーベースモデル、PCAなど、いくつかの異なるアルゴリズムを提供しています。
- TestDataImputationは,項目応答を持つ2値性および多値性テストによく適したEM推定(および他のより単純なインピュテーション法)に基づくインピュテーションを実装しています。
- 多重代入は、mlmiのMaximum Likelihood Multiple Imputationを使用しています。
- 完全情報最尤法(「直接最尤法」または「生最尤法」とも呼ばれる)は、構造方程式モデリングにおける欠損データの処理に、lavaan(およびその拡張機能であるsemTools)とOpenMx、rsem、simsemで利用できます。
- 変数選択を伴うモデルベースクラスタリングにおける欠損値処理のためのベイズアプローチは VarSelLCMで利用可能です.また、このパッケージは、事後平均を用いた帰属も提供します。
- 一般化線形モデルにおける欠損値は、様々な族に対してmdmbで扱うことができます。
- 項目反応モデル(Raschモデルとその拡張を含む)における欠測データは、TAM、mirt、eRm、ltmで一変量または多変量の回答に対して実装されています。
- LNIRTもこれらのモデルに対応していますが、欠損値を「missing-by-design」として指定することができ、MLCIRTwithinは潜在クラスモデルを含んでいます。
単一代入
- 欠損データの代入のための最も簡単な手法は,平均値(または中央値、最頻値など)による代入です。この手法は,多くのパッケージで利用可能であり、中でもHmiscは、変数の欠損インスタンスをすべて同じ値でインピュテーションするためのさまざまな提案を含んでいます。
- 一般的なパッケージ:
- VIMとfillingは,欠損値代入のためのいくつかの一般的な方法を含んでいます(以下に挙げる特定の方法専用のセクションに記載されているものも含む)。
- simputationは、さまざまな回帰手法と組み合わせることができる任意の予測法によるインピュテーションのための一般的なパッケージであり、tidyverseとよく連動しています。
- k-nearest neighborsは欠損データ代入の一般的な手法で、yaImpute(CCAベースの代入を含むkNN代入の多くの異なる手法を持つ)やVIMなどのメインパッケージで利用可能です。
- ホットデック代入は、hot.deckで実装されており、様々な設定(多重代入を含む)が可能です。
- ランダムフォレストに基づく代入は、missForestで実装され、より高速なバージョンはmissRangerで実装されています。
- その他の回帰に基づく代入は、VIMに実装されています(関数regressionImpの線形回帰に基づく代入)。
- iai は、knn。tree、SVMに基づく最適な代入を調整します。
- SurrogateRegressionは、二変量回帰を使用して、部分的に欠損した対象アウトカムの推定と推論を実行します。
- 行列補完は、数値データ、カテゴリデータ、混合データ(グループの帰属を含む)に対して、missMDAでPCA/SVD分解を繰り返しながら実装されています.
- NIPALS(これもSVD計算に基づく)は、 mixOmics (PCAとPLS)、ade4、nipals、plsRglm(一般化モデルPLS)で実装されています。
- cmfrecは、(推薦システム用の)行列因子分解のための大規模パッケージで、代入も含まれています。
- その他のPCA/因子ベースのインピュテーションは、pcaMethods(PCAのベイズ実装)、primePCA(高次元PCAにおける不均一な欠落のため)、tensorBF(3ウェイテンソルデータ用)などで利用可能です。
- 低ランクベースのインピュテーションはsoftImputeで提供され、反復行列補完のためのいくつかのメソッドを含んでいます。
- この手法は、非常に一般的なパッケージである rsparseでも利用可能であり、これには疎行列のための様々なツールが含まれています。
- 低ランクの仮定に基づいたバリエーションは、denoiseR、mimi、ECLRMCとCMF(アンサンブル行列補完用)、ROptSpace(計算効率のよいアプローチ)で利用できます。
- CoImpはセミパラメトリック代入処理、mdgcは混合データ型に対するガウシアン・コピュラによるコピュラを用いた代入が実装されています。
- SOMbreroは、自己組織化マップに基づくインピュテーションを提供しています。
多重代入
上記のパッケージの中には、複数の代入を処理できるものもあります。
- Ameliaは、EMを用いたBootstrap多重代入によりパラメータを推定し、定量データについては多変量ガウス分布と仮定して代入を行います。
- AmeliaViewは、AmeliaのGUIであり、Amelia web pageから利用可能です。
- NPBayesImputeCat は、カテゴリ変数に対してジョイントモデリングによる多重代入を実装していますが、ベイズ的なアプローチを用いています。
- mi、mice、smcfcsは、連鎖式による多重代入を実装しています。
- その他のパッケージは,miceをベースに拡張したもので、オブジェクト指向プログラミングとC++を用いたmice代入の代替実装を提供するmiceFast、ブートストラップに基づくインピュテーションとその解析を行うbootImpute、ランダムフォレストを用いた連鎖方程式による多重インピュテーションを行うmiceRangerやCALIBERrfimputeなどがあります。
- 多重インプットされたデータセットに対応:
- missMDAは、SVD法に基づく多重代入を実装しています。
- hot.deckは、ホットデックに基づく多重代入を実装しています。
- rMIDASは、ノイズ除去オートエンコーダーに基づく多重代入を実装しています。
- マルチレベル代入:
- QtoolsとmiWQSは、分位点回帰に基づく多重代入を実装しています。
- lodiは、検出限界(LOD)以下の観測値を打切り尤度多重代入(CLMI)により代入する機能を実装しています。
- NADIAは、複数のインピュテーションアルゴリズムの性能を比較する統一的なインターフェースを提供します。
重み付け方法
- 観測データに対して、逆確率重み付け(IPW)による観測されないデータを考慮した重みの計算がipwとiWeigRegに実装されています。
- IPWは、IPWboxplotにおける分位推定やボックスプロットにも使用されています。
- CRTgeeDRは,欠損を考慮したDoubly Robust Inverse Probability Weighted Augmented GEE Estimatorが実装されています。
特定の種類のデータ
- 縦断的データ/時系列データ:
- 時系列データのインプットは、imputeTSで実装されています。
- その他のパッケージ、例えばforecast、spacetime、timeSeries、xts、prophet、stlplus、zooは、時系列データ専用ですが、欠損データを扱うためのいくつかの(しばしば基本的な)メソッドを含んでいます(TimeSeriesも参照してください)。
- tidyの原則に基づき、padrとtsibbleも時系列の欠損値を埋め込むためのメソッドを提供します。
- DTSgは、高速なdata.tableフレームワークに基づき、時系列の欠損値記述および欠損値代入のための基本的な機能を提供します。
- Dynamic Time Warpingに基づく時系列の置換は、一変量および多変量時系列用のDTWBI、DTWUMI、FSMUMIで実装されています。
- BMTARは、多変量時系列における欠損データの存在下で、ベイズアプローチを用いたガウスノイズによる自己回帰閾値モデルの推定を行います。
- swgeeは、欠損観測値のある縦断データに対するIPWアプローチを実装しています。
- tsrobprepは、時系列のロバストな分解を使用して、欠損値のインピュテーションを行います。
- brokenstickは、不規則な時系列におけるランダムな欠測データをbrokenstickのアプローチで処理します。
- より具体的な時系列に対しては、coldが欠損値を含むデータから縦断的なカウントモデル モデルを適用します。
- 空間データ:
- 時空間データ(SpatioTemporalも参照);
- 時空間データのインプットはStempCensで実装されており、E-stepが解析的な形式を持たない場合にEMを近似するSAEMアプローチで実装されています。
- アプリケーションの観点からは、gapfillは、等間隔で観測された衛星データのインピュテーションに特化しています。
- momentuHMMは一般化隠れマルコフモデル(欠損データに対する多重代入を含む)によるテレメトリデータの解析に特化しています。
- 生存率データ:
- 距離行列:
- edmcrは、ユークリッド距離行列のインプットを、様々な最適化アプローチで実装しています。
- グラフ/ネットワーク:
- 分割表のインプットはloriに実装されており、欠損データのある分割表の解析にも使用できます。
- 構成データに対する代入(CODA)は、robCompositionsとzCompositions(ゼロ、左打ち切り、欠損データに対する様々なインピュテーション方法)に実装されています。
- 一部欠測のある順位モデルはBayesMallowsでベイズ法により、またirrNAで評価者間信頼性とコンコーダンスが計算できるよう処理されています。
- 実験デザイン:
- experimentは、共変量や結果データが欠損しているランダム化実験や、結果が欠損しているマッチドペアデザインなどの実験デザインにおける欠損値を処理することができます。
- 再発イベント:
- dejaVuは、負の二項回帰モデルに基づいて、再発イベントデータの多重代入を行います。
特定のタスク
- randomForest、grf、StratifiedRFは、ランダムフォレストに基づく様々な手法で予測変数の欠損値を扱います。
- misaemは、線形回帰およびロジスティック回帰における欠損値を処理し、モデルの選択を可能にします。
- psfmiは、多重インプットデータにおける様々な線形モデルのモデル選択のためのフレームワークも提供します。
- naivebayesは、欠損データがある場合のナイーブベイズ分類器の効率的な実装を提供します。
- plsRbetaは、予測変数に欠損値があるベータ回帰モデルに対するPLSを実装しています。
- lqrは、欠損値や打ち切りデータがある場合に,様々な分布に基づいた分位値回帰の推定値を提供します。
- eigenmodelは、対称的な関係データに対する回帰モデルにおいて、欠損値を処理します。
- クラスタリング:
- biclustermdは、バイクラスタリングにおける欠損データを処理します。
- RMixtComp、MGMM、mixtureは、欠損値がある場合に様々な混合モデルを適合させます。
- ClustImputeは、k-meansクラスタリングにおける欠損値を処理します。
- 2標本のペア欠損データに対する検定がrobustrankと MKinferで実装されており、後者は複数のインプットされたデータセットに基づくものです。
- 欠損値を含むデータに対する検定の信頼性は、brxxのベイズ的アプローチで評価されています。
- メタアナリシス:
- 欠損値がある場合の外れ値検出(およびロバスト解析)は、GSEおよびrrcovNAに実装されています。
- 欠損値がある場合のROC推定は、ROCサーフェスではbcROCsurfaceで、左打ち切りデータではBLOQで利用可能です。
- 欠損値がある場合の媒介分析は、bmemとbmemLavaanで実装されており、後者は非正規データを扱うように設計されています。
特定のアプリケーション分野
- 遺伝学:
- SNPデータのインピュテーションは、alleHap(血統データに基づく決定論的手法のみ使用)、QTLRel(近傍SNPの情報を使用)、snpStats(近傍アプローチ使用)、HardyWeinberg(対立遺伝子強度および/または近傍SNPに基づく多項モデルによる多重インピュテーション使用)において実装されています。
- qgtoolsは、欠損データがある場合の量的遺伝学解析のための線形混合モデルおよびリサンプリング技術を備えています。
- EMは、StAMPPの欠損SNPが存在する集団の遺伝統計量を計算するために使用されます。
- FILESTは、外れ個体や欠損値を含むSNPデータセットをシミュレートするために使用されます。
- 系統解析:
- Rphyloparsは、様々な進化モデルを用いて、系統の欠損データのインプットを実装しています。
- TreeSimを用いて不完全な系統樹のシミュレーションを行うことができます。
- Genomics:
- 単一細胞のRNA-Sequencingデータにおけるドロップアウト事象(mRNA分子のサンプリング不足)の代入は、DrImpute、SAVER、iCellRで実装されており、それぞれ細胞のクラスタリング、マルコフアフィニティグラフ、経験ベイズアプローチ、K-最近傍に基づいています。
- 最初の3つのパッケージは scRecoverとADImputeで使用・結合され、最後のパッケージは scATAC-Seq や CITE-Seq など、他のタイプの単一細胞データも扱うことができます。
- RNAseqNetは、ホットデック代入を用いて、補助データセットによるRNA-seqネットワーク推定を向上させるものです。
- ケモメトリックス:
- Epidemiology:
- bayesCTは,臨床試験のシミュレーションと解析を,欠損データの処理と代入を可能にするベイズ的な枠組みで行うための様々な方法を実装しています。
- sanonは、MCAR データを扱うことができる層によるランダム化臨床試験の解析方法を実装しています。
- idem (archived)は、欠席や早期離脱のある臨床試験において、治療法を比較するための方法を実装しています。
- InformativeCensoringは、情報提供打ち切りに対する多重代入を実装しています。
- psevalは、単一臨床試験において、反事実的な代入回答が欠損している場合の主要な代入を評価します。
- sievePHは、多変量マークにおいて欠損値を持つ連続的、多変量、マーク固有のハザード比をIPWアプローチで実装しています。
- icenRegは,区間データに対する打切り応答のインピュテーションを行います。
- 健康:
- missingHEは、アウトカムデータが欠損している医療経済評価用のモデルを実装しています。
- accelmissingは、加速度計データの欠損カウント値に対して、ゼロインフレートポアソン対数正規モデルによる多重代入を提供します。
- 形態計測:
- LOSTは、形態計測データの欠損をランダムに、分類学的バイアスをかけて、解剖学的バイアスをかけてシミュレートすることが可能です。
- 環境:
- AeRobiologyは、航空生物学の公共データベースからインポートされた航空生物学データセットにおける欠損データを代入します。
- QUALYPSOは、欠損データを扱うことができ、気候予測の不完全なアンサンブルに対する気候変動反応の不偏推定値を提供します。
- 因果推論:
- targetedは、欠損データを用いた因果推論のための様々な手法が、拡張IPW推定量を使って実装されています。
- gsynthは、行列補完により欠損値を処理します。
- dosearchは、do-calculusの欠損データへの拡張により、対話的固定効果モデルによる因果推論が可能です。
- MatchThemは、複数のマッチング手法を用いて多重インプットされたデータセットをマッチングし、それぞれのインプットされたデータセットにおける因果効果を推定するツールを提供します。
- grfは、修正無拘束の仮定のもと、不完備交絡因子と共変量を用いた治療効果推定を行います。
- RCALは、欠損値や高次元の因果関係推定のための正則化キャリブレーション推定を実装します。
- ファイナンス:
- imputeFinは、ARモデルやランダムウォークを使用した金融時系列の欠損値の代入を処理します。
- スコアリング:
- scorecardModelUtilsは、スコアリングデータセットの欠損データを埋め込むための基本的な方法(平均値、中央値、最頻値、…)が提案されています。
- プリファレンスモデル:
- プリファレンスモデルにおける欠損データは、MCARとMNARのパターンをprefmodで説明できるようにする複合リンクのアプローチで処理されます。
- 行政記録 / アンケート:
- BIFIEsurveyは、調査統計のためのツールを含む非常に一般的なパッケージで、多重代入されたデータセットを扱うことができます。
- 具体的には、fastLinkは、Fellegi-Sunter確率的レコードリンケージを提供し、欠損データおよび補助情報の包含を可能にします。
- convergEUは、Eurostatのデータを処理し、欠損値をインプットして、EU諸国間の収束を監視することができます。
- eechidnaは、オーストラリアの選挙および国勢調査データセットに対して同様の機能を備えています。
- Bibliometry: