美文网首页
R语言异常观测值

R语言异常观测值

作者: 肖玉贤 | 来源:发表于2018-05-17 15:18 被阅读0次

检测多重共线

> library(car)

> vif(fit)

Population Illiteracy    Income      Frost

  1.245282  2.165848  1.345822  2.082547

> sqrt(vif(fit))>2 #problem?

Population Illiteracy    Income      Frost

    FALSE      FALSE      FALSE      FALSE

> #多重共线性可用统计量VIF进行检测。VIF的平方根表示变量回归参数的置信区间的膨胀为与模型无关的预测变量的程度。

离群点

> outlierTest(fit)

      rstudent unadjusted p-value Bonferonni p

Nevada 3.542929        0.00095088    0.047544

> #若不显著,则说明数据集中么有离群点,若显著,则你必须删除该离群点,然后再检验是否还有其他离群点的存在。

> #高杠杆值的观测点可通过帽子统计量(hat statistics)判断。对于一个给定的数据集,帽子均值为P/N,其中P是模型估计的参数数目(包含截距项),n是样本量。一般来说,若观测点的帽子值大于帽子均值的2或3倍,就可以认为高杠杆点。

高杠杆点

> hat.plot<- function(fit){

+ p<- length(coefficients(fit))

+ n<- length(fitted(fit))

+ plot(hatvalues(fit), main="Index Plot Hat Value")

+ abline(h=c(2,3)*p/n, col="red", Ity=2)

+ identity(1:n, hatvalues(fit), names(hatvalues(fit)))

+ }

> hat.plot(fit)

强影响点

> cutoff <- 4/(nrow(states)-length(fit$coeffficients)-2)

> plot(fit, which=4, cook.levels=cutoff)

> abline(h=cutoff, Ity=2, col="red")

> avPlots(fit, ask=FALSE, id.method="identify")

> #avplot()函数可提供变量添加图

> influencePlot(fit, id.method="identify", main="Influence Plot", sub="Circle size is propertional to Cook's distance")

                StudRes        Hat      CookD

Alaska        1.7536917 0.43247319 0.448050997

California  -0.2761492 0.34087628 0.008052956

Nevada        3.5429286 0.09508977 0.209915743

Rhode Island -2.0001631 0.04562377 0.035858963

> #利用influence()函数,可以将离群点、杠杆值和强影响点的信息整合到一幅图形中。

变量变换


> summary(powerTransform(states$Murder))

bcPower Transformation to Normality

              Est Power Rounded Pwr Wald Lwr Bnd Wald Upr Bnd

states$Murder    0.6055          1      0.0884      1.1227

Likelihood ratio test that transformation parameter is equal to 0

(log transformation)

                          LRT df    pval

LR test, lambda = (0) 5.665991  1 0.017297

Likelihood ratio test that no transformation is needed

                          LRT df    pval

LR test, lambda = (1) 2.122763  1 0.14512

There were 14 warnings (use warnings() to see them)

> #powerTransform()函数通过lambda的最大似然值来估计正态化变量X^λ。

> #Murder^0.6来正态化变量Murder。由于0.6很接近0.5,你可以尝试用平方根变化来提高模型正态性的符合程度。

> #在本例中λ=1的假设接受原假设,(p=0.145),因此没有强有力的证据表明本例需要变量变化。

> boxTidwell(Murder~ Population+Illiteracy, data=states)

          MLE of lambda Score Statistic (z) Pr(>|z|)

Population      0.86939            -0.3228  0.7468

Illiteracy      1.35812              0.6194  0.5357

iterations =  19

> #boxTidwell()函数通过获得预测变量幂数的最大似然估计值来改善线性关系。上述例子结果表明,

> #使用Population^0.87和Illiteracy^1.36能够大大改善线性关系,但是对Population(p=0.75)和Illiteracy(p=0.54)的计分检验又表明变量并不需要变化。

> #响应变量变换还能改善异方差性(误差方差非恒定)

相关文章

  • R语言异常观测值

    检测多重共线 > library(car) > vif(fit) Population Illiteracy ...

  • 2022-07-08 pivot_longer与pivot_wi

    参考:张敬信老师:R语言编程 宽变长 每一行只有1个观测的情形 每一行有多个观测 长变宽 有一个列名列和一个值列 ...

  • 去除箱线图中的outliers

    异常值outlier:指样本中的个别值,其数值明显偏离它(或他们)所属样本的其余观测值,也称异常数据,离群值。当遇...

  • 5.2 异常值处理

    异常值是指样本中的个别值,其数值明显偏离其余的观测值。异常值也称离群点,异常值的分析也称为离群点的分析异常值分析 ...

  • 数据预处理_异常值处理

    一、异常值 1.异常值是指样本中的个别值,其数值明显偏离其余的观测值。异常值也称离群点,异常值的分析也称为离群点的...

  • R语言离群值异常点处理分析

    参考 :http://tecdat.cn/?p=3415 数据中的异常值可能会使预测失真并影响准确性,尤其是在回归...

  • 机器学习算法实现(三):SVM

    SVM算法的R语言实践 数据集,采用R语言内置的iris数据集。 查看数据集前六个观测 head(iris) 第一...

  • 00-前言-一些简单概念

    数据 矩形数据:值的集合,每个值都与一个变量和一个观测相关。整洁的数据:每列都是一个变量,每行都是一个观测。 R ...

  • K近邻法的R语言简单实现(knn)

    K近邻法的R语言简单实现(knn) 数据集采用R语言内置iris 查看数据集前6个观测 k近邻法1.数据集分为训练...

  • R语言之缺失值和异常值处理

    加载并查看数据基本情况 一、处理缺失值 查看NA的分布情况,有一个直观了解 根据NA的分布情况,获取数据子集 1....

网友评论

      本文标题:R语言异常观测值

      本文链接:https://www.haomeiwen.com/subject/wuvbdftx.html