我正在研究一个大约40名眼科患者的数据库,从中我们获得了90个变量。这些变量主要为二项式(1包含该疾病/特征,0不包含)。因此,我最初的方法是进行单变量分析,过滤掉那些p值较低(0.25)的变量,然后使用逐步方法,使用AIC减少变量的数量,以便只有显着的变量留在模型中。
问题是,这个数据库来自一项数据相对较差的研究,许多变量的值不允许我们在不应用偏差减少的情况下进行操作。我使用的是brglm2软件包。因此,我有以下公式:
glm(respondstotreatment ~ v1+v2+v3..., family = "binomial", data = data, method = brglm2::brglm_fit)
所以,我意识到有一些观测结果有大量的NA。我只剩下36个观察结果,从我获得的观察结果中,我使用scale()函数对数值变量进行了缩放。
最后,我得到了一个确定的模型,只有5个变量和合理的值。此外,它符合文献,并且可以对其进行解释。
事情是这样的,几周后(今天)我的老板告诉我,我把0.00作为一个值更好地把真实的的价值(我的意图是说,获得的比值比低于0.001),但她希望值“确切”。
当我按照上一次做的相同步骤重复分析时,我得到了不同的值,我不知道这是因为step()方法选择了这些值以便输入,还是我对数据进行了一些其他必要的标准化,我现在不记得了。
因此,我建议学习更多关于标准化数据和方法的知识,以便从现在开始创建更健壮和可复制的方法(并摆脱这种混乱)。
我得到的模型的AIC是25,我现在能达到的AIC是32。……
你有什么主意吗?
1条答案
按热度按时间lnlaulya1#
当涉及到**standardizing data**时,您有几个选项可用。以下是一些常用的技巧:
**Z分数标准化:**该方法通过减去平均值并除以标准偏差来转换数据。它将数据集中在零附近,标准差为1,从而得到平均值为零的分布。
**最小-最大缩放:**此技术在指定范围之间缩放数据,通常在0和1之间。它减去最小值并除以最大值和最小值之间的差。
**十进制缩放:**在这种方法中,数据除以10的幂以移动小数点。比例因子由数据集中的最大绝对值确定,确保所有值都在指定范围内。
**稳健标度:**此方法类似于Z分数标准化,但使用中位数和四分位距而不是平均值和标准差。它对异常值不太敏感,更适合于具有极值的数据。
**对数转换:**此技术对数据应用对数函数。它对具有偏斜分布的数据特别有用,有助于归一化分布并减少极值的影响。
**单位向量缩放:**也称为归一化,该方法缩放数据,使每个样本的欧几里得范数(长度)为1。它通常用于依赖于距离计算的机器学习算法。
标准化技术的选择取决于数据的具体特征以及分析或模型的要求。在选择适当的标准化方法时,考虑数据的性质、异常值的存在以及分析的目标是很重要的。