让南当计算partialcorr(没有NaN数据)

19 visualizaciones(上月的30二叠纪)
chisca
chisca el 24 de Mayo 2016
Editada: dpb el 10 2022年10月德德
嗨,我是在一系列数据和有时使用partialcorr nan。这是为什么呢?我确信我没有nan数据没有丢失或空条目。有时使用partialcorr ([x y],“行”,“完成”)帮助机器人它并不总是解决问题。谢谢你的帮助。
4 comentarios
dpb
dpb el 10 2022年10月德德
Editada:dpb el 10 2022年10月德德
tF = readtable (websave (“Test_data.txt”,“//www.tatmou.com/matlabcentral/answers/uploaded_files/125764/Test_data.txt”));
partialcorr ([tF.flower_date, tF.cum_temp], [tF.Var1 tF.Var2])
ans = 2×2
1南南南
fitlm (tF,“predictorVars”,{“cum_temp”,“Var1”,“Var2”},“ResponseVar”,“flower_date”,“拦截”,真正的)
警告:回归设计矩阵是在机器精度等级不足。
ans =
线性回归模型:flower_date ~ 1 + Var1 + Var2 + cum_temp估计系数:估计 SE tStat pValue ________ _____ _________ __________ (拦截)0 0南南Var117.841 0.25253 70.647 1.8066 e-59Var2-0.42291 0.016155 -26.178 1.5975 e-34cum_temp0.36047 0.0049775 72.419 4.1539 e-60数量的观察:64年,错误自由度:61根均方误差:3.28平方:0.845,调整平方:0.84 f统计量与常数模型:167年,假定值= 1.9 e-25
所以 partialcorr 不是欺骗我们;让我们看看发生了什么独立变量之间的自己……
corrcoef ([tF.cum_temp、tF.Var1 tF.Var2])
ans = 3×3
1.0000 -0.9174 -0.4560 -0.9174 1.0000 0.7726 -0.4560 0.7726 1.0000
好吧,虽然这些逐字逐句都是1 cum_temp 非常高度相关 Var1 Var1, Var2 彼此是非常高的,他们不是直接相关的。所以,结论是, cum_temp 是一个线性组合的其他两个…下,让我们检查一下
fitlm (tF,“predictorVars”,{“Var1”,“Var2”},“ResponseVar”,“cum_temp”,“拦截”,真正的)
ans =
线性回归模型:cum_temp ~ 1 + Var1 + Var2估计系数:估计 SE tStat pValue ________ __ _____ ______ (拦截)427年正0Var1-61 0负0Var21 0正0数量的观察:64年,错误自由度:61平方:1,调整平方:1 f统计量与常数模型:8.54 e + 29日假定值= 0
最后显示 cum_temp 是相同的一个线性组合预测的 Var1 , Var2 导致前给出结果。
这可能意味着 Var1 , Var2 /导出,没有观察到的变量,可能之前的怀疑上其余的分析,根据这些推论变量是如何/定义和什么其他情况下避免上述结果。

Iniciar对话对位comentar。

Respuestas (1)

亚当Danz
亚当Danz el 4 de Mayo de 2021
看到类似的问题: 在相关系数得到NaN
相同的基本问题是发生偏相关。
Matlab的 partialcorr 遵循这些步骤在维基百科的解释 偏相关文章
当关联变量 X 与变量 Y 当控制变量 Z , X 变量可以预测的 Z 所以他们的残差是0或非常接近0。为了防止返回一个伪相关, partialcorr 功能检测残差接近0,将它们设置为0,以避免浮点舍入错误。如果你看这个方程在wiki文章中,它将清楚为什么返回NaN值在这些情况下 0/0 =南
partialcorr.m 文件包含有价值的评论的作者解释这行代码略高于计算相关系数(r2021a)。

属于

Mas给尤其极地的情节帮助中心y文件交换

Etiquetas

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的