应用统计学与R语言实现学习笔记(七)——拟合优度检验

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ESA_DSQ/article/details/71513581 Chapter 7 Goodness of Fit本篇是第七章,内容是拟合优度检验。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ESA_DSQ/article/details/71513581

Chapter 7 Goodness of Fit

本篇是第七章,内容是拟合优度检验。

1.多项分布

拟合优度检验的第一个应用是关于多项总体。那么多项总体(或者多项分布)是什么呢?

  • 多项分布是二项分布的推广。
  • 总体被分为几个互不相交的类别。
  • 多项分布假设:每次试验有且仅有一个结果发生;每次试验独立;每次试验概率不变。

拟合优度检验-多项总体步骤

  • 将所观测到的数据与理论上的期望值进行比较。
  • 步骤:
    1.计算每一类实际观测到的频次 fi
    2.计算每一类理论上的期望频次 ei
    3.计算 Chi-square 统计量—— χ2=(fiei)2/ei
    其中自由度 (df) = k-1, k 是多项总体的类别数。

拟合优度检验用于多项总体检验没有直接的函数,这里用R语言的自编函数实现,体会下具体的算法(当然感觉自己写的略复杂)。代码依旧是后面放出,函数具体使用说明也会附上。

2.独立性

依旧是从问题出发——性别与购物频率是否有关系
独立性检验——该统计方法常用于检验两个分类变量是否有关系。那么首先要提到两个概念——独立事件和非独立事件(independent and dependent events)。

  • 独立事件——一个事物发生不会对其他事物发生概率造成影响。
  • 非独立事件——一个事物发生会影响其他事物发生概率。

接着统计学构建出了一个表来进行独立性检验。这就是联立表(Contingency Tables)。

  • 解决多总体比例问题。
  • 之前通常用两个或两个以上特征来对样本观测值分类。
  • 也被称为交叉表。

这里写图片描述

一般在R中,使用Table函数即可生成两个特征(分类变量)的联立表,xtabs则是根据公式创立联立表,prop.table则可以直接计算出比例。
联立表如何做独立性检验呢?首先提出假设(这里不详述,相信大家应该懂怎么建立了),接着计算期望的联立表每个单元格的期望频次。

eij=(ithRowtotal)(jthColumtotal)TotalSampleSize

接着就可以对比实际频次和期望频次,然后我们用卡方(chi-square)统计量进行检验。
χ2=i=1nj=1m(fijeij)2eijwith,df=(n1)(m1)

n为行数,m为列数, fij , eij 分别为第i行和第j列的 ij 实际频次和期望频次。
当然这个方法也可以用来检验顺序变量和分类变量。方法类似,这里不赘述。

3.概率分布

拟合优度检验的最重要的应用其实是探测一个数据具体的概率分布。
当然探测数据分布的第一方式——是可见即可得的可视化。主要包括前面提到过的直方图和QQ图。
QQ图——Quantile-Quantile Plots(分位数图):

  • 适用于小数据集。
  • 猜测分布的基础方法。
  • 用来绘制QQ图的数据必须落在该分布内。
  • 如果散点图接近直线,说明数据分布接近正态分布。

这里给出绘制QQ图的原理:

  • 对样本容量为N的样本数据按照升序排序。
  • 计算从1到N排序的百分比。
  • 从百分位数得分的关系找到中心分数。
  • 找到对应于中心分数的z值(标准正态分布)。
  • 绘制对应z值的观测点数据。

接着用R语言实现

#QQ plot
#generation of random number that fall in normal distribution
a<-rnorm(200,0,1)

#plot
jpeg("plot1.jpg",width = 5000,height = 4000,units = "px",res = 1000)
qqnorm(a)
qqline(a,col="red")
dev.off()

这里写图片描述

除了QQ图之外,另外一类方法就是通过统计方法——拟合优度检验来探测数据是否正态分布。
以正态分布为例。
过程:

  • 获取样本数据。
  • 将样本结果分组(单元格)。
  • 比较实际与预期值。

统计量如下:

χ2=i=1k(fiei)2ei

R语言中可以用chisp.test函数进行正态分布测验。

此外对于有某种特定分布的非正态数据可以通过数学变换转变为正态分布数据。
常用的一般包括:

  • 对数变换。
  • 开方变换。
  • 指数或平方变换。

这里的数学变换需要根据大家实际研究需求决定。

目录
相关文章
|
3月前
|
存储 数据可视化 数据挖掘
R语言在生物信息学中的应用
【10月更文挑战第21天】生物信息学是生物学、计算机科学和信息技术相结合的交叉学科,主要研究生物大分子信息的存储、处理、分析和解释。R语言作为一种强大的统计分析工具,被广泛应用于生物信息学领域。本文将介绍R语言在生物信息学中的应用,包括基因组学、转录组学、蛋白质组学、代谢组学等方面,帮助读者了解R语言在生物信息学中的重要性和应用前景。
121 4
|
3月前
|
机器学习/深度学习 数据采集 人工智能
R语言是一种强大的编程语言,广泛应用于统计分析、数据可视化、机器学习等领域
R语言是一种广泛应用于统计分析、数据可视化及机器学习的强大编程语言。本文为初学者提供了一份使用R语言进行机器学习的入门指南,涵盖R语言简介、安装配置、基本操作、常用机器学习库介绍及实例演示,帮助读者快速掌握R语言在机器学习领域的应用。
141 3
|
3月前
|
机器学习/深度学习 并行计算 数据挖掘
R语言是一种强大的统计分析工具,广泛应用于数据分析和机器学习领域
【10月更文挑战第21天】R语言是一种强大的统计分析工具,广泛应用于数据分析和机器学习领域。本文将介绍R语言中的一些高级编程技巧,包括函数式编程、向量化运算、字符串处理、循环和条件语句、异常处理和性能优化等方面,以帮助读者更好地掌握R语言的编程技巧,提高数据分析的效率。
74 2
【R语言实战】——带有高斯新息的金融时序的GARCH模型拟合预测及VAR/ES风险度量
【R语言实战】——带有高斯新息的金融时序的GARCH模型拟合预测及VAR/ES风险度量
【R语言实战】——带有新息为标准学生t分布的金融时序的GARCH模型拟合预测
【R语言实战】——带有新息为标准学生t分布的金融时序的GARCH模型拟合预测
|
8月前
|
数据可视化
【R语言实战】——金融时序分布拟合
【R语言实战】——金融时序分布拟合
【R语言实战】——fGARCH包在金融时序上的模拟应用
【R语言实战】——fGARCH包在金融时序上的模拟应用
|
4月前
|
数据采集 数据可视化 数据挖掘
R语言在金融数据分析中的深度应用:探索数据背后的市场智慧
【9月更文挑战第1天】R语言在金融数据分析中展现出了强大的功能和广泛的应用前景。通过丰富的数据处理函数、强大的统计分析功能和优秀的可视化效果,R语言能够帮助金融机构深入挖掘数据价值,洞察市场动态。未来,随着金融数据的不断积累和技术的不断进步,R语言在金融数据分析中的应用将更加广泛和深入。
|
4月前
|
机器学习/深度学习 算法 数据挖掘
R语言中的支持向量机(SVM)与K最近邻(KNN)算法实现与应用
【9月更文挑战第2天】无论是支持向量机还是K最近邻算法,都是机器学习中非常重要的分类算法。它们在R语言中的实现相对简单,但各有其优缺点和适用场景。在实际应用中,应根据数据的特性、任务的需求以及计算资源的限制来选择合适的算法。通过不断地实践和探索,我们可以更好地掌握这些算法并应用到实际的数据分析和机器学习任务中。
|
5月前
|
机器学习/深度学习 资源调度 算法
R语言逻辑回归与分类模型的深度探索与应用
【8月更文挑战第31天】逻辑回归作为一种经典的分类算法,在R语言中通过`glm()`函数可以轻松实现。其简单、高效且易于解释的特点,使得它在处理二分类问题时具有广泛的应用价值。然而,值得注意的是,逻辑回归在处理非线性关系或复杂交互作用时可能表现不佳,此时可能需要考虑其他更复杂的分类模型。