在运行MICE包之后,在5个完整插补集中的每一个中,缺失值的数量从147428缩小到46093。但它不应该是0 NAs而不是???
谢谢!
这是我的MICE代码:
imp = mice(newdata)
imputationSet1 = complete(imp)
imputationSet2 = complete(imp,2)
imputationSet3 = complete(imp,3)
imputationSet4 = complete(imp,4)
imputationSet5 = complete(imp,5)
答案 0 :(得分:4)
Ben,mice()函数检测多重共线性,并通过删除矩阵的一个或多个预测变量来解决问题。每个删除都记录在mids对象的loggedEvents元素中。例如,
imp< - mice(cbind(nhanes,chl2 = 2 * nhanes $ chl), print = FALSE)
小鬼$ loggedEvents
通知我们在迭代之前删除了重复变量chl2。该算法还在迭代期间检测多重共线性。
控制算法的另一个措施是脊参数。 ridge参数被指定为mice()的参数。设置脊= 0.001或脊= 0.01使得算法在偏置的代价下更加稳健。
在终端节点,我们可以应用一个简单的方法,比如mice.impute.sample(),它不需要任何预测器。
此信息摘自Stef van Buuren的书“弹性数据缺失”一书,p。 129
答案 1 :(得分:1)
尝试切换名为this.kick++;
的其他参数,其默认值为 <script>
(function() {
var instances = [];
var translationDb = {};
var language = '';
window.behavior = {
properties: {
l10n: {
value: 0
}
},
attached: function() {
instances.push(this);
},
detached: function() {
this.arrayDelete(instances, this);
},
_broadcast: function() {
instances.forEach(function(i) {
i.l10n++;
});
},
localize: function(key, i) {
if (translationDb[language] && translationDb[language][key]) {
return translationDb[language][key];
}
return key;
},
registerTranslation: function(translationKey, translationSet) {
translationDb[translationKey] = translationSet;
},
selectLanguage: function(newLanguage) {
language = newLanguage;
this._broadcast();
}
};
})();
</script>
<dom-module id="my-element">
<template>
<p>{{localize(label, l10n)}}</p>
</template>
<script>
Polymer({
behaviors: [
behavior
],
properties: {
label: {
type: String,
value: 'original'
}
}
});
</script>
</dom-module>
<dom-module id="another-element">
<template>
<button on-tap="buttonClicked">load</button>
</template>
<script>
Polymer({
behaviors: [
behavior
],
buttonClicked: function() {
this.registerTranslation('en', {
original: 'changed'
});
this.selectLanguage('en');
}
});
</script>
</dom-module>
。如果将其设置为接近threshold
或更大的值,则问题应该消失。
请注意,只有当数据中的共线性很高时才会出现此问题。
答案 2 :(得分:1)
帮助我的是将as-character变量转换为as-factor变量,而NA已从插补数据集中消失。
答案 3 :(得分:-1)
是的,应该没有遗漏的值。
我敢打赌,你的数据集中有些行严重缺失,导致鼠标的插补模型崩溃。您的数据集中是否有可能缺少每个值的行?那样做。
尝试突发奇想的另一件事 - 将迭代次数增加到15:imp = mice(newdata, maxit = 15)
。这有什么改变吗?