タグ付けされた質問 「multiple-imputation」

複数の代入は、データの多変量特徴を保持することを目的とした一連の確率代入ルーチンを指します

5
機械学習で階層/ネストされたデータを処理する方法
例で問題を説明します。いくつかの属性(年齢、性別、国、地域、都市)を与えられた個人の収入を予測するとします。あなたはそのようなトレーニングデータセットを持っています train <- data.frame(CountryID=c(1,1,1,1, 2,2,2,2, 3,3,3,3), RegionID=c(1,1,1,2, 3,3,4,4, 5,5,5,5), CityID=c(1,1,2,3, 4,5,6,6, 7,7,7,8), Age=c(23,48,62,63, 25,41,45,19, 37,41,31,50), Gender=factor(c("M","F","M","F", "M","F","M","F", "F","F","F","M")), Income=c(31,42,71,65, 50,51,101,38, 47,50,55,23)) train CountryID RegionID CityID Age Gender Income 1 1 1 1 23 M 31 2 1 1 1 48 F 42 3 1 1 2 62 M 71 4 …
29 regression  machine-learning  multilevel-analysis  correlation  dataset  spatial  paired-comparisons  cross-correlation  clustering  aic  bic  dependent-variable  k-means  mean  standard-error  measurement-error  errors-in-variables  regression  multiple-regression  pca  linear-model  dimensionality-reduction  machine-learning  neural-networks  deep-learning  conv-neural-network  computer-vision  clustering  spss  r  weighted-data  wilcoxon-signed-rank  bayesian  hierarchical-bayesian  bugs  stan  distributions  categorical-data  variance  ecology  r  survival  regression  r-squared  descriptive-statistics  cross-section  maximum-likelihood  factor-analysis  likert  r  multiple-imputation  propensity-scores  distributions  t-test  logit  probit  z-test  confidence-interval  poisson-distribution  deep-learning  conv-neural-network  residual-networks  r  survey  wilcoxon-mann-whitney  ranking  kruskal-wallis  bias  loss-functions  frequentist  decision-theory  risk  machine-learning  distributions  normal-distribution  multivariate-analysis  inference  dataset  factor-analysis  survey  multilevel-analysis  clinical-trials 

3
R:データセットにNaNがないにもかかわらず、「Forest function call」エラーでNaN / Infをスローするランダムフォレスト[非公開]
キャレットを使用して、データセットに対してクロス検証されたランダムフォレストを実行しています。Y変数は要因です。データセットにNaN、Inf、またはNAはありません。ただし、ランダムフォレストを実行すると、 Error in randomForest.default(m, y, ...) : NA/NaN/Inf in foreign function call (arg 1) In addition: There were 28 warnings (use warnings() to see them) Warning messages: 1: In data.matrix(x) : NAs introduced by coercion 2: In data.matrix(x) : NAs introduced by coercion 3: In data.matrix(x) : NAs introduced by …

4
複数の代入とモデルの選択
推定するアプリオリ線形モデルがある場合、複数代入はかなり簡単です。ただし、実際にモデル選択を行いたい場合は少し難しいようです(たとえば、より大きな候補変数セットから予測変数の「最適な」セットを見つける-私は特にLASSOとRを使用する分数多項式を考えています)。 1つのアイデアは、欠損値を含む元のデータにモデルを適合させてから、このモデルをMIデータセットで再推定し、通常と同様に推定値を結合することです。しかし、バイアスを期待しているため(または、そもそもなぜMIを行うのか?)、最初から「間違った」モデルを選択することにつながる可能性があるため、これは問題のようです。 別のアイデアは、各MIデータセットで使用しているモデル選択プロセスを実行することですが、異なる変数のセットが含まれている場合、結果をどのように組み合わせますか? 私が考えていたのは、MIデータセットを積み重ねて1つの大きなデータセットとして分析し、それを使用して単一の「最適な」モデルに適合し、反復測定を使用している事実を説明するランダム効果を含めることでした各観測。 これは理にかなっていますか?または、おそらく信じられないほど素朴ですか?この問題(複数の代入を使用したモデル選択)についてのポインタは大歓迎です。

3
電車とテストに分割する前後の代入?
N〜5000のデータセットがあり、少なくとも1つの重要な変数で約1/2が欠落しています。主な分析方法は、コックス比例ハザードです。 複数の代入を使用する予定です。また、トレインとテストセットに分割します。 データを分割してから個別に代入するか、または代入してから分割する必要がありますか? 問題があれば、で使用PROC MIしSASます。

2
結果変数の多重代入
農業試験に関するデータセットがあります。私の応答変数は応答率です:log(treatment / control)。私は違いを媒介するものに興味があるので、REメタ回帰を実行しています(重みなし、効果の大きさは推定値の分散と無相関であることが明らかだからです)。 各研究では、穀物収量、バイオマス収量、またはその両方が報告されています。研究されたすべての植物が穀物に役立つわけではないので(例えばサトウキビが含まれているため)、バイオマス収量だけを報告する研究から穀物収量を推定することはできません。しかし、穀物を生産する各植物にはバイオマスもありました。 不足している共変量については、反復回帰代入を使用しています(Andrew Gelmanの教科書の章に続きます)。合理的な結果が得られるようで、プロセス全体は一般的に直感的です。基本的に、欠損値を予測し、それらの予測値を使用して欠損値を予測し、各変数がほぼ収束するまで(分布で)各変数をループします。 同じプロセスを使用して欠落した結果データを補完できない理由はありますか?穀物の反応率、作物の種類、および私が持っている他の共変量を考えると、おそらくバイオマスの反応率の比較的有益な補完モデルを形成できます。次に、係数とVCVを平均し、標準的な方法に従ってMI補正を追加します。 しかし、結果自体が帰属する場合、これらの係数は何を測定しますか?係数の解釈は共変量の標準MIとは異なりますか?考えてみると、これが機能しないことを納得することはできませんが、よくわかりません。資料を読むための考えや提案を歓迎します。

1
複数の代入後のキャリブレーションプロットのプーリング
複数の代入後のキャリブレーションプロット/統計のプーリングに関するアドバイスをお願いします。将来のイベントを予測するために統計モデルを開発する設定では(たとえば、病院の記録からのデータを使用して退院後の生存やイベントを予測する)、多くの情報が欠落していることが想像できます。複数の代入はそのような状況を処理する方法ですが、結果として、代入の固有の不確実性による追加の変動性を考慮して、各代入データセットからのテスト統計をプールする必要があります。 複数のキャリブレーション統計(hosmer-lemeshow、HarrellのEmax、推定キャリブレーションインデックスなど)があることを理解しています。プーリングに関する「通常の」Rubinのルールが適用される可能性があります。 ただし、これらの統計は多くの場合、モデルの特定のミスキャリブレーション領域を示さないキャリブレーションの全体的な測定値です。この理由から、私はむしろ較正プロットを見たいと思います。残念ながら、プロットまたはそれらの背後にあるデータ(個人ごとの予測確率と個人ごとの観測結果)を「プール」する方法については無知であり、生物医学文献(私がよく知っている分野)にはあまり見つけることができません、または、ここで、CrossValidatedで。もちろん、各代入データセットのキャリブレーションプロットを見ることは答えかもしれませんが、多くの代入セットが作成されると、非常に面倒になる可能性があります。 したがって、複数の代入(?)後にプールされたキャリブレーションプロットをもたらす手法があるかどうかを尋ねたいと思います

2
入力データの近傍情報の使用またはオフデータの検索(R)
最近傍が最適な予測子であるという仮定のデータセットがあります。視覚化された双方向グラデーションの完璧な例 欠落している値がほとんどない場合があると仮定すると、近傍と傾向に基づいて簡単に予測できます。 Rの対応するデータマトリックス(トレーニングのダミーの例): miss.mat <- matrix (c(5:11, 6:10, NA,12, 7:13, 8:14, 9:12, NA, 14:15, 10:16),ncol=7, byrow = TRUE) miss.mat [,1] [,2] [,3] [,4] [,5] [,6] [,7] [1,] 5 6 7 8 9 10 11 [2,] 6 7 8 9 10 NA 12 [3,] 7 8 9 10 11 12 13 …

5
欠損値の多重代入
特定の制約の下でデータセットの欠損値を置き換えるために代入を使用したいと思います。 たとえば、代入さx1れた変数が、他の2つの変数、たとえばx2との合計以上になるようにしますx3。またx3、0またはのいずれかに代入され>= 14たいx2、0またはのいずれかに代入されたい>= 16。 複数の代入に対してSPSSでこれらの制約を定義しようとしましたが、SPSSでは最大値と最小値しか定義できません。SPSSでさらに制約を定義する方法はありますか、または、欠損値の代入のためにこのような制約を定義できるRパッケージを知っていますか? 私のデータは次のとおりです。 x1 =c(21, 50, 31, 15, 36, 82, 14, 14, 19, 18, 16, 36, 583, NA,NA,NA, 50, 52, 26, 24) x2 = c(0, NA, 18,0, 19, 0, NA, 0, 0, 0, 0, 0, 0,NA,NA, NA, 22, NA, 0, 0) x3 = c(0, 0, 0, 0, …

5
非常に多数のデータポイントで値の代入を実行する方法は?
非常に大きなデータセットがあり、約5%のランダムな値が欠落しています。これらの変数は互いに相関しています。次のRデータセットの例は、ダミーの相関データを使用した単なるおもちゃの例です。 set.seed(123) # matrix of X variable xmat <- matrix(sample(-1:1, 2000000, replace = TRUE), ncol = 10000) colnames(xmat) <- paste ("M", 1:10000, sep ="") rownames(xmat) <- paste("sample", 1:200, sep = "") #M variables are correlated N <- 2000000*0.05 # 5% random missing values inds <- round ( runif(N, 1, length(xmat)) …
12 r  random-forest  missing-data  data-imputation  multiple-imputation  large-data  definition  moving-window  self-study  categorical-data  econometrics  standard-error  regression-coefficients  normal-distribution  pdf  lognormal  regression  python  scikit-learn  interpolation  r  self-study  poisson-distribution  chi-squared  matlab  matrix  r  modeling  multinomial  mlogit  choice  monte-carlo  indicator-function  r  aic  garch  likelihood  r  regression  repeated-measures  simulation  multilevel-analysis  chi-squared  expected-value  multinomial  yates-correction  classification  regression  self-study  repeated-measures  references  residuals  confidence-interval  bootstrap  normality-assumption  resampling  entropy  cauchy  clustering  k-means  r  clustering  categorical-data  continuous-data  r  hypothesis-testing  nonparametric  probability  bayesian  pdf  distributions  exponential  repeated-measures  random-effects-model  non-independent  regression  error  regression-to-the-mean  correlation  group-differences  post-hoc  neural-networks  r  time-series  t-test  p-value  normalization  probability  moments  mgf  time-series  model  seasonality  r  anova  generalized-linear-model  proportion  percentage  nonparametric  ranks  weighted-regression  variogram  classification  neural-networks  fuzzy  variance  dimensionality-reduction  confidence-interval  proportion  z-test  r  self-study  pdf 

2
多重代入データセット間でブートストラップされたp値をプールするにはどうすればよいですか?
乗算代入(MI)データからを推定するためにp値をブートストラップしたいのですが、MIセット全体でp値を結合する方法が不明確であるという問題に関心があります。θθ\theta MIデータセットの場合、推定値の合計分散を取得する標準的なアプローチでは、Rubinのルールを使用します。MIデータセットのプーリングのレビューについては、こちらをご覧ください。合計分散の平方根は、標準誤差推定として機能します。ただし、推定量によっては、総分散に既知の閉形式がないか、サンプリング分布が正規ではありません。統計量θ / s e (θ )は、漸近的ではなく、t分布しない場合があります。θθ\thetaθ / s e (θ )θ/se(θ){\theta}/{se(\theta)} したがって、完全なデータの場合、1つの代替オプションは、統計をブートストラップして分散、p値、および信頼区間を見つけることです。たとえ、サムリング分布が正規でなく、その閉形式が不明であってもです。MIの場合、2つのオプションがあります。 MIデータセット全体でブートストラップされた分散をプールする MIデータセット全体でp値または信頼限界をプールする θθ\theta だから私の質問は次のとおりです。複数の代入データセットにまたがって複数のブートストラップされたp値(または信頼区間)をプールする方法は? 進め方についての提案を歓迎します、ありがとうございます。

2
複数の帰属データセットで行われたテストでプールされたp値を取得するにはどうすればよいですか?
Rでアメリアを使用して、複数の帰属データセットを取得しました。その後、SPSSで繰り返し測定テストを行いました。ここで、テスト結果をプールします。Rubinのルール(Rの複数の代入パッケージを通じて実装)を使用して平均値と標準誤差をプールできることはわかっていますが、p値をプールするにはどうすればよいですか?出来ますか?Rにそうする関数はありますか?前もって感謝します。

1
マウスで2l.normを使用した「1次の先行マイナーは正定ではない」エラー
2l.normのマルチレベル代入の方法を使用して問題が発生していmiceます。 残念ながら、データのサイズが原因で再現可能な例を投稿することはできません。サイズを小さくすると、問題は消えます。 特定の変数について、mice次のエラーと警告を生成します。 Error in chol.default(inv.sigma2[class] * X.SS[[class]] + inv.psi) : the leading minor of order 1 is not positive definite In addition: Warning messages: 1: In rgamma(n.class, n.g/2 + 1/(2 * theta), scale = 2 * theta/(ss * : NAs produced 2: In rgamma(1, n.class/(2 * theta) + 1, …

2
縦断的研究では、追跡調査で失った個人に対して、時間2に測定された結果Yを推定する必要がありますか?
人のサンプルで2回ポイントで繰り返し測定しています。時間1には1万8千人、時間2には1万3千人がいます(5000人がフォローアップで失われました)。 時間1に測定された一連の予測子Xについて、時間2に測定された結果Y(および時間1に結果を測定できない)を後退させたい。すべての変数に欠落データがある。そのほとんどは比較的ランダムに表示されます。または、欠落は観測されたデータでよく説明されているようです。ただし、結果Yの欠落の大部分は、フォローアップの損失が原因です。私は複数の代入(R :: mice)を使用し、完全なデータセットを使用してXの値を代入しますが、Yの代入に関する2つの矛盾するアドバイスを受け取りました。 1)18kの完全なサンプルでXとV(V =有用な補助変数)からYを代入します。 2)フォローアップで失われた個人にYを負わせないでください(したがって、後続の回帰モデリングからそれらを削除します)。 前者は情報が情報であるため理にかなっています。しかし、後者はより直感的な意味でも理にかなっています-Y〜X + Vに基づいて5000人の結果を推測し、方向を変えてY〜Xを推定するのは間違っているようです。 どちらが(もっと)正しいですか? この前の質問は役に立ちますが、フォローアップの損失による欠落に直接対処していません(おそらく答えは同じですが、わかりません)。 結果変数の多重代入

2
乗算されたデータを持つlmer
多重補完後にlmerのランダム効果をプールするにはどうすればよいですか? マウスを使用してデータフレームを複数入力しています。そして、ランダム切片とランダム勾配を持つ混合モデルのlme4。lmerのプールは、ランダムな効果をプールしないことを除いて、うまくいきます。私は運がなければ解決策をたくさん探しました。私はmiパッケージを試しましたが、見積もりとstd.errorのプールされた出力しか表示されません。私は運がなければマウスオブジェクトをspssにエクスポートしようとしました。Zeligについての議論がありました。これで問題が解決するかもしれません。しかし、lmerの帰属データを含むパッケージの使用方法を理解できませんでした。 マウスパッケージでは固定効果のプールのみがサポートされています。回避策はありますか? 複数の帰属: library(mice) Data <- subset(Data0, select=c(id, faculty, gender, age, age_sqr, occupation, degree, private_sector, overtime, wage)) ini <- mice(Data, maxit=0, pri=F) #get predictor matrix pred <- ini$pred pred[,"id"] <- 0 #don't use id as predictor meth <- ini$meth meth[c("id", "faculty", "gender", "age", "age_sqr", "occupation", "degree", "private_sector", "overtime", "wage")] …

2
R MICEデータ補完の実行時間を改善する方法
簡単に言えば、R MICE(データ補完)の実行時間を改善する方法はありますか? 私はデータセット(30変数、130万行)で作業しています。これには(かなりランダムに)欠落したデータが含まれています。30変数のうち約15の観測値の約8%にNAが含まれています。不足しているデータを補完するために、MICEパッケージの一部であるMICE関数を実行しています。 method = "fastpmm"でm = 1のサブセット(100,000行)でも、実行時間が非常に遅くなり、約15分間実行されます。 パフォーマンスをあまり落とさずに実行時間を改善する方法はありますか?(mice.impute.meanは非常に高速ですが、重要な情報が失われます!)。 再現可能なコード: library(mice) df <- data.frame(replicate(30,sample(c(NA,1:10),1000000,rep=TRUE))) df <- data.frame(scale(df)) output <- mice(df, m=1, method = "fastpmm")

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.