楼主: dufegao
34924 14

[有偿编程] 如果从残差分析图中获得异常值 [推广有奖]

  • 0关注
  • 0粉丝

已卖:3份资源

硕士生

13%

还不是VIP/贵宾

-

威望
0
论坛币
4479 个
通用积分
2.9250
学术水平
1 点
热心指数
1 点
信用等级
0 点
经验
129 点
帖子
82
精华
0
在线时间
170 小时
注册时间
2007-8-2
最后登录
2025-11-27

楼主
dufegao 发表于 2014-6-4 16:49:07 |AI写论文
50论坛币
在多元回归后做残差图分析可以找到异常值,如下四图:
1. 普通残差与拟合值的残差图
2. 正态QQ的残差图
3. 标准化残差开方与拟合值的残差图
4. cook统计量的残差图
一般情况下需要肉眼观察残差图找到异常值所在的点,但是如何通过程序获得这些异常值所在位置呢?比如图1/2/3中的54,65,295点,还有图4中的163,168,285点?

补充:感谢Aharach的回答,目前唯一剩下的问题是R根据什么标准确定残差图1-3中的三个异常值呢?
图1 普通残差与拟合值的残差图                                                   图1     
图3 QQ图
                                                 图2
图2 Scale-Location图
                                                 图3  
图4 cook统计量的残差图
                                                    图4



关键词:残差分析 异常值 分析图 标准化残差 多元回归 程序 如何 统计

本帖被以下文库推荐

沙发
sllhappy0729 发表于 2014-6-5 01:15:58
感觉你的residual不是白噪声,特别是在分布的两端拟合的不好。你要不先把y取对数,log(y)可能更加接近正太分布。然后可能对结果有改善,再来检查如何去除异常值。

藤椅
dufegao 发表于 2014-6-5 10:18:47 来自手机
sllhappy0729 发表于 2014-6-5 01:15
感觉你的residual不是白噪声,特别是在分布的两端拟合的不好。你要不先把y取对数,log(y)可能更加接近正太分 ...
我只是举了个例子,并不是针对已上数据。我问的是什么样的R代码可以获取异常值及其对应的样本点,最终目的是找到样本点并删除。

板凳
dufegao 发表于 2014-6-5 17:26:58
没有高人能帮忙解答吗。。。

报纸
sllhappy0729 发表于 2014-6-5 23:06:10
dufegao 发表于 2014-6-5 17:26
没有高人能帮忙解答吗。。。
我觉得很难说,你的数据很多,从你的图来看可以说基本没啥异常值。即使剔除几个数值,也不会改变你的结果,比如slope R2等等。你说的方法都可以帮助你剔除,但是你的数据还不错,所以很难说哪个是异常值。

地板
Aharach 发表于 2014-6-6 03:01:03
看看下面的代码能不能满足你的要求:
  1. which(Y$residual>0.2)
复制代码

目的是把所有residual中大于0.2的数据行数显示出来,然后你就可以想干什么就干什么了。
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Nicolle + 5 + 5 + 5 我很赞同

总评分: 学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

7
dufegao 发表于 2014-6-9 00:08:35
Aharach 发表于 2014-6-6 03:01
看看下面的代码能不能满足你的要求:

目的是把所有residual中大于0.2的数据行数显示出来,然后你就可以想 ...
已经很接近我想要的结果了, 感谢Aharach!目前通过>0.2的标准筛选出来的数据点多达8个,但图1-3标记出来的是三个(第163,168,和285个数据点),我想要的就是根据什么标准套用which命令可以得到残差图中标记出来的三个异常值?

8
dufegao 发表于 2014-6-9 18:03:06
再顶!谁知道图1-3中确定三个异常值的标准是什么?

9
sllhappy0729 发表于 2014-6-9 23:49:05
dufegao 发表于 2014-6-9 18:03
再顶!谁知道图1-3中确定三个异常值的标准是什么?
其实我一直都不太理解为什么要强行把这些稍微有点异常的值去掉。任何一个分布都会有极值的,这样强行去除会扭曲统计上的意义的。除非你能给出解释,或者是那种偏离很远的值。

10
十里春风 学生认证  发表于 2014-6-10 00:44:23
或者是绝对值大于两倍方差(标准差)?
which(abs(residuals(fit))>=2*var(residuals(fit))))
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Nicolle + 5 + 5 + 5 我很赞同

总评分: 学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-2 15:41