编程教程 - 页 17

 

使用回归线进行预测


使用回归线进行预测

大家好!今天,我们将深入研究回归线。我们将探索如何使用它们进行预测,讨论预测错误,并了解何时不适合使用它们进行预测。让我们开始吧!

您可能在我之前的视频中认识了这个示例。我们有一个包含五个值的小数据集,我画了一条最佳拟合线:Ŷ = 0.19X + 1.34。现在,我们考虑一个新的输入值 x = 6。使用回归方程,我们可以预测相应的 y 值。在本例中,预测值为 2.54。我们可以将该预测值绘制为 (6, 2.54) 处的蓝点。

有时,当我们的 x 值与数据集中的 y 值相对应时,我们会进行预测。例如,在 x = 3 处,我们有点 (3, 1)。在这种情况下,我们谈论什么样的错误?我们将其称为残差。数据点的残差是该点的实际 y 值与回归线预测的 y 值之间的差值。当 x = 3 时,实际 y 值为 1,预测 y 值为 1.97,导致残差为 -0.97。这意味着点 (3, 1) 位于回归线下方大约 0.97 个单位。

使用回归线进行预测时,考虑数据集的范围至关重要。我们应该只对落在数据集范围或合理扩展范围内的 x 值进行预测。一个典型的例子是年龄与体重。如图所示,对于12岁以下的人来说,存在线性关系。在这个范围内,我们可以利用线性关系根据年龄做出相当准确的体重预测。这称为插值,我们预测数据集范围内的值。

然而,使用这种线性关系来做出该范围之外的预测(例如针对四十岁的人)是错误的。如果我们用线性关系来预测他们的体重,结果将超过三百四十磅,这显然是不现实的。这称为外推法,应该避免。

总之,在使用回归线时,了解预测误差和局限性至关重要。残差帮助我们量化实际值和预测值之间的差异。我们应该只在数据集的范围内或者数据集的合理扩展范围内进行预测。外推法涉及预测数据集范围之外的值,可能会导致结果不准确且不可靠。

Using Regression Lines to Make Predictions
Using Regression Lines to Make Predictions
  • 2020.04.18
  • www.youtube.com
Also discussed: residuals, interpolation and extrapolation. All the good stuff! If this vid helps you, please help me a tiny bit by mashing that 'like' butto...
 

使用 lm() 命令在 R 中进行回归和预测


使用 lm() 命令在 R 中进行回归和预测

大家好!今天,我们将使用内置数据集“cars”计算 R 中的回归线。首先,让我们看一下数据集并使用“查看”和“问号”命令收集有关它的一些信息。 “汽车”数据集由 50 个条目组成,代表 20 年代汽车的速度和停车距离。虽然这不是新鲜数据,但我们仍然可以探索线性关系。

为了可视化数据,我们将使用“tidyverse”库中的“ggplot2”包。确保使用“library(tidyverse)”命令加载包。如果您尚未安装“tidyverse”软件包,可以使用“install.packages('tidyverse')”命令来安装。

接下来,我们将使用“qplot”命令创建数据的散点图。我们将在 x 轴(解释变量)上绘制速度,在 y 轴(响应变量)上绘制距离。为了表明我们正在使用“cars”数据集并想要一个散点图,我们将使用“geom='point'”。该图显示了大部分线性关系,表明执行线性回归是合理的。

要向图中添加回归线,我们将使用“geom_smooth(method = 'lm', se = FALSE)”。这指定了没有标准误差条的线性回归平滑器。

现在,让我们确定回归线的方程。我们将使用“lm”命令,它代表线性模型。语法遵循“y ~ x”模式,其中响应变量(距离)与解释变量(速度)相关。我们将结果分配给一个名为“model”的变量。通过输入“summary(model)”,我们可以获得有关回归线的附加信息,包括系数、残差和统计度量,例如多重 R 平方和调整 R 平方。

如果我们想从“model”对象中访问特定信息,我们可以将其视为一个数据框并使用“$”来提取所需的列。例如,“model$residuals”给出 50 个残差的向量。

我们甚至可以分别使用“cars$residuals”和“cars$predicted”将残差和拟合值作为新列添加到原始“cars”数据集中。

最后,让我们使用“预测”函数来获取数据集中不存在的速度预测。我们将提供“模型”作为第一个参数,并创建一个数据框,其中包含名为“速度”的列(与解释变量匹配)。使用“data.frame”函数,我们将输入所需的速度值。例如,我们可以预测 12.5、15.5 和 17 等速度的停车距离。将显示预测值。

Regression and Prediction in R Using the lm() Command
Regression and Prediction in R Using the lm() Command
  • 2021.02.24
  • www.youtube.com
Let's learn about the lm() and predict() functions in R, which let us create and use linear models for data. If this vid helps you, please help me a tiny bit...
 

R 中的卡方计算


R 中的卡方计算

今天我们将在 R 中执行一些卡方计算。卡方检验通常在推论统计中用于各种目的,例如拟合优度检验和涉及方差的假设检验。卡方是向右倾斜的连续随机变量。其期望值用“r”表示,方差为 2r。在大多数应用中,r 是正整数,但也可以是非整数。

随着 r 值的增加,卡方分布的概率密度函数 (PDF) 向右移动,并且由于中心极限定理而开始类似于钟形曲线。参数 r 称为卡方分布的自由度数。

在 R 中,有四个用于计算卡方分布的基本函数:

  1. rchisq(r, n):该函数从具有 r 自由度的卡方分布生成 n 个随机值。例如,rchisq(5, 16) 根据 5 个自由度的卡方生成 16 个随机值。

  2. pchisq(x, r):这是具有 r 自由度的卡方分布的累积分布函数 (CDF)。它返回在该分布中随机获得小于或等于 x 的值的概率。例如,pchisq(8, 5) 给出在自由度为 5 的卡方中获得小于或等于 8 的值的概率,约为 0.844。

  3. qchisq(p, r):这是具有 r 自由度的卡方分布的逆 CDF。它返回 x 值,其中获得小于或等于 x 的值的概率等于 p。例如,qchisq(0.5, 12) 给出具有 12 个自由度的卡方中值,约为 0.5。

  4. dchisq(x, r):此函数给出 x 处具有 r 个自由度的卡方分布的概率密度函数 (PDF) 值。 PDF 具有重要的理论意义,但在数值计算中不太常用。

现在,让我们使用这些函数解决一些示例问题:

问题 1:计算随机获得 12 到 18 之间的 x 值(自由度为 15 的卡方)的概率。

prob <- pchisq ( 18 , 15 ) - pchisq ( 12 , 15 )

概率约为 0.4163。

问题 2:假设从自由度为 20 的卡方中随机抽出的结果有 80% 的机会大于 x,请找出 x 的值。

x <- qchisq ( 0.2 , 20 )

x 的值约为 14.57844。

问题 3:模拟 4 个自由度的卡方分布的一万次绘制,并生成结果的直方图。

x <- rchisq ( 4 , 10000 )
library ( ggplot2 )
qplot ( x , geom = "histogram" , col = I ( "black" ) )

这将生成模拟值的直方图。

我希望这可以帮助您理解和应用 R 中的卡方计算。

Chi-Squared Calculations in R
Chi-Squared Calculations in R
  • 2020.10.15
  • www.youtube.com
In the vid, I cover the functions pchisq(), qchisq(), rchisq(), and dchisq(). If this vid helps you, please help me a tiny bit by mashing that 'like' button....
 

R 中的残差图


R 中的残差图

大家好,在今天的视频中,我们将使用 qplot 命令探索 R 中的残差图。在本教程中我将主要使用基本 R 函数。我还在制作另一个有关扫帚包的视频,这是在 R 中执行任务的标准方法。一旦准备好,我将提供该视频的链接。

在本教程中,我们将重点关注 R 内置空气质量数据集中的变量“wind”和“temp”。该数据集包含 1973 年 5 月至 9 月纽约的每日空气质量测量值。

首先,让我们加载 tidyverse 包。尽管我们只使用 qplot 函数,但为了保持一致性,我们还是加载整个包。

在深入建模之前,必须将数据可视化。让我们通过将“wind”设置为解释变量 (air_quality$wind) 并将“temp”设置为响应变量 (air_quality$temp) 来创建 qplot。由于我们有两个变量,R 将默认为散点图。

通过检查该图,我们可以观察到两个变量之间的线性关系,尽管这种关系不是特别强。为了量化这种关系,我们使用 cor 函数计算相关系数。所得相关系数为-0.458,表明负相关。

现在我们已经建立了线性关系,我们可以在图中添加一条回归线。我们将修改 qplot 命令,将 geom_smooth 函数包含在 method = "lm" 中以指示线性模型。为了简单起见,我们排除错误功能区。

添加回归线后,我们可以继续构建线性模型并获得回归线的方程。让我们使用 lm 函数将线性模型分配给名为“model”的变量。我们将指定“temp”作为响应变量,“wind”作为解释变量。明确提及数据框的名称很重要。

为了更深入地了解模型,我们可以使用summary函数来获取模型的摘要。摘要提供了各种信息,包括截距 (90.1349) 和斜率系数 (-1.23)。斜率系数的解释是风每增加一个单位,温度就会降低约 1.23 个单位。检查帮助文件将提供有关所使用单位的信息,例如以英里每小时为单位的风和以华氏度为单位的温度。

我们可以使用系数函数直接访问系数,该函数返回模型的截距和风系数。此外,我们可以使用fitting.values函数获得拟合值,为我们提供每个风值的预测温度向量。我们可以将其作为新列“预测”添加到空气质量数据框中。

同样,我们可以使用残差函数获得残差,该函数给出了观测值和预测值之间的差异。将残差作为另一列“残差”添加到数据框中就完成了我们的探索。我们可以再次可视化数据框以确认新列的存在。

为了评估拟合值和残差之间的关系,我们可以创建残差图。在 qplot 命令中,我们将拟合值设置为 x 轴变量 (fitted.values(model)),将残差设置为 y 轴变量 (residuals(model))。将按照 qplot 参数中指定的方式生成散点图。

残差图的目的是识别残差中的任何模式或趋势。在具有恒定方差的有效线性模型中,绘图应类似于没有任何可辨别模式的云。使用 geom_smooth 和 method = "lm" 添加回归线将有助于验证这一点。我们还将设置 se = FALSE 以删除标准误差线。

通过检查残差图,我们可以看到没有明显的模式或趋势,这表明我们的模型充分捕获了线性关系。由 y = 0 表示的回归线证实了这一观察结果。

关于使用 qplot 命令在 R 中创建残差图的教程到此结束。通过可视化和分析残差,我们可以评估线性模型的拟合优度和适当性。请记住,在 R 中可以通过多种方法实现相同的结果,探索不同的语法和函数可以增强您对语言的理解。

Residual Plots in R
Residual Plots in R
  • 2021.08.11
  • www.youtube.com
It's easy to make beautiful residual plots in R with ggplot. Let's go!If this vid helps you, please help me a tiny bit by mashing that 'like' button. For mor...
 

异常值:杠杆、差异和影响力


异常值:杠杆、差异和影响力

大家好!今天,我们将深入研究线性回归背景下的杠杆、差异和影响力的概念。尽管我将重点关注具有单个解释变量的场景,但请注意,此处讨论的所有内容也直接适用于更高的维度。

在具有两个变量的数据集中,单个观测值可能会在其 x 值、y 值或两者中表现出不寻常的特征。当我们使用术语“离群值”时,我们特指与数据总体趋势相比在 y 方向上显着偏离的观测值。这些异常值是具有高度差异的点。

然而,在日常语言中,我们经常更宽松地使用“异常值”一词。为了说明这个概念,让我们考虑三个数据集,每个数据集都显示线性趋势和一个不寻常的观察结果。在前两张图中,您会注意到有一个点远离回归线,表现出很高的差异。在第三种情况下,异常值与整体数据趋势相当吻合,因此不会仅根据差异将其视为异常值。

现在,让我们将焦点转移到杠杆上。具有异常 x 值的观测值更有可能影响模型的拟合度,并且此类观测值据说具有很高的杠杆作用。从杠杆角度检查相同的三个图,我们发现最右边的两个图包含高杠杆的观察结果。这些异常值的 x 值与大多数数据相差很大。相反,第一个图具有低杠杆率的离群值,因为它的 x 值与数据集中的其他值很好地对齐。

显着改变模型拟合度的观察被认为具有很高的影响力。回到前面图中的前两个异常值,让我们通过影响力的视角来检查它们。在第一张图中,我们观察到影响力较低的异常值。如果我们从数据集中删除该值,回归线不会发生重大变化。值得注意的是,斜率保持相对不变。相反,在最右边的图中,我们看到一个具有高影响力的异常值。将其从数据集中删除后,回归线会发生重大变化。通常,有影响力的观察结果会表现出高差异性和高影响力。

虽然所有这些概念都可以量化,但我不会在本视频中深入探讨细节。但是,如果您想进一步探索这一点,我确实想为您指出正确的方向。差异通常使用学生化残差来测量,这些残差是标准化残差,用于量化 y 方向上的观测值与模型预测的偏差。可以使用帽子值来评估杠杆率,帽子值测量 x 值与预期平均 x 值的距离。最后,影响力经常使用库克距离来量化。

幸运的是,您不必手动计算这些度量,因为 R 提供了方便的方法。扫帚包在这方面特别有用,我会尽快创建一个关于它的视频。

Outliers: Leverage, Discrepancy, and Influence
Outliers: Leverage, Discrepancy, and Influence
  • 2021.07.14
  • www.youtube.com
How should we think about unusual values in two-variable data sets? How is an unusual x-value different from an unusual y-value? In this vid, we'll learn all...
 

R^2:决定系数


R^2:决定系数

今天的主题是R平方,决定系数。它测量回归线或任何统计模型周围观察值的分布。它表示响应变量 (y) 中可归因于解释变量变化的方差比例,尤其是在高维情况下。

对于线性模型,R 平方始终介于 0 和 1 之间。接近 1 的值表示数据点紧密聚集在回归线周围,而接近 0 的值表示分布较大。

为了使这个概念更清晰,让我们可视化三个数据集。每组的 y 值方差为 1,并且我为每种情况绘制了回归线。随着 R 平方从 0.2 增加到 0.5 再到 0.8,我们观察到回归线周围数据的分布越来越紧密。

现在,让我们深入探讨一个更精确的定义。 R 平方的计算方式为拟合 y 值的方差除以观察到的 y 值的方差。在代数上,这可以表示为 1 减去残差的方差除以观察到的 y 值的方差。从技术意义上来说,我们可以将其写为:

R 平方 =(残差方差)/(观察到的 y 值的方差)

为了进一步简化,我们通常将这个代数表达式缩写为 R-squared = 1 - (RSS / TSS),其中 RSS 表示残差平方和,TSS 表示总平方和。

在具有单个解释变量的最小二乘回归模型中,需要注意的一个重要事实是决定系数等于样本相关系数 (R) 的平方。换句话说,R 平方(大 R 平方)等于小 R 平方。

对于高维模型,表述是类似的。 R 平方等于观测值和拟合 y 值之间相关性的平方。即使对于单变量的情况也是如此,尽管我们通常不会用这些术语来思考它。

值得一提的是,R 平方经常被误解和曲解。那么,让我们澄清它的含义和局限性。 R 平方衡量 y 中的变异性比例,该比例可以通过 x 中的变异性来解释。根据定义,对于 y 值变化较大的数据集,该值会较低。因此,R 平方接近 1 的模型不一定好,如 R 平方为 0.93 的示例所示,但线性模型与数据的拟合效果较差。

同样,R 方较低的模型也不一定不好。例如,R 平方为 0.16 的模型可能非常适合数据,但数据本身固有地包含大量自然变异和噪声。

请记住,R 平方仅衡量回归线的变异性,并不直接表明模型的有用性或合理性。要正确评估线性模型,请考虑多种工具和因素,例如残差标准误差(残差的标准差),它可以深入了解数据与预测值相比的变异性。此外,您可以使用用于线性拟合的 t 统计量和用于检验高维模型中所有回归系数均为零的原假设的 f 统计量来检查回归的显着性水平。

在评估模型时,重要的是不要仅仅依赖 R 平方,而是将其与其他指标和分析结合起来考虑。

R^2: the Coefficient of Determination
R^2: the Coefficient of Determination
  • 2021.10.20
  • www.youtube.com
Let's get to know R^2, the coefficient of determination, which measures the spread of observations about a regression line or other statistical model.If this...
 

了解卡方分布


了解卡方分布

今天,我们将讨论卡方分布,这是您在数据科学之旅中学习统计推断时会遇到的基本概念。当您想要测量一组独立数值观测值与其预期值的偏差时,就会出现卡方分布。

为了更正式地解释这一点,您可以通过从观察值中减去预期值并将其除以标准差来计算每个观察值的 z 分数。对每个 z 分数进行平方并求和后,您将获得卡方随机变量。该变量量化了观察值与其预期值的总体偏差。

例如,如果所有观测值与其预期值完全一致,则卡方统计量将为零。随着结果与预期值的进一步偏离,卡方值会增加。通过对 z 分数求平方,我们确保低偏差和高偏差不会相互抵消。

自由度为 r 的卡方分布表示该随机变量的抽样分布。自由度 (r) 对应于独立观测值或 z 分数的数量。请注意,随机变量与分布具有相同的名称,但上下文通常会区分它们。

由于每个 z 分数都是连续随机变量,因此它们的平方和遵循卡方分布。卡方分布的概率密度函数仅对于非负卡方值才为正。该分布呈右偏态,因为个体 z 分数出现极高值的可能性越来越小。

具有 5 个自由度的卡方分布的典型图展示了这种强烈的右偏。它的支持(一组可能的结果)严格由积极的价值观组成。要记住的两个重要事实是,自由度为 r 的卡方分布的期望值等于 r,并且分布的峰值出现在 R - 2 处,假设 R 至少为 2(否则为零) )。

随着自由度数量的增加,根据中心极限定理,卡方分布接近正态分布。这种近似可以在显示 R 等于 50 的卡方分布的草图中观察到,该分布仍然表现出轻微的向右倾斜。

从最初的幻灯片可以明显看出,卡方分布经常用于推论统计。一些常见的应用包括正态分布假设下的方差显着性检验、分类变量的拟合优度检验以及独立性的卡方检验。

要计算卡方分布中的概率,可以使用累积分布函数 (CDF)。 CDF 表示为 F(x),提供在指定卡方分布中获得小于或等于 x 的值的概率。通过视觉表示可以更好地理解这一点,其中阴影区域代表概率。

在 R 中,您可以使用 pchisq() 命令执行卡方计算,指定感兴趣的值和自由度数。例如,要计算在具有五个自由度的卡方分布中获得小于或等于 8 的值的概率,您可以使用 pchisq(8, 5),结果约为 0.843。

如果您对涉及 R 中卡方分布的更多细节或计算感兴趣,我有涵盖这些主题的特定视频。请随意查看它们以获取更深入的解释。

Understanding the chi-squared distribution
Understanding the chi-squared distribution
  • 2022.12.07
  • www.youtube.com
In absolute terms, just how far are your results from their expected values?If this vid helps you, please help me a tiny bit by mashing that 'like' button. F...
 

拟合优度测试


拟合优度测试

大家好,今天我们将讨论使用卡方分布的拟合优度检验。假设我们有一个分类变量,例如一所大型大学统计课上大学生的年级,我们被告知它遵循特定的分布:新生 50%,二年级学生 30%,大三学生 10%,大四学生 10%。我们如何测试这个分布是否适合我们的样本数据?

首先,让我们建立原假设和备择假设。原假设指出,统计学课程中所有学生的人数遵循所声称的分布(50% 新生、30% 二年级学生等),而备择假设则假设不同的分布。为了测试这些假设,我们将比较样本数据中观察到的计数与原假设下的预期计数。

我们将观察到的计数表示为“o”,将预期计数表示为“e”。我们将计算一个称为卡方的检验统计量,它是 (o - e)^2 / e 的总和。如果原假设为真,则该检验统计量遵循自由度为 k - 1 的卡方分布,其中 k 是类别数。

在我们的例子中,我们有四个类别,因此我们将使用具有三个自由度的卡方分布。较大的检验统计量表明我们的样本数据与原假设的兼容性较差,表明拟合较差。

为了执行显着性检验并计算卡方,我们需要计算原假设下的预期计数。对于 65 的样本量,我们将百分比乘以 65,以获得预期计数 32.5、19.5、6.5 和 6.5。

接下来,我们通过从每个细胞的观察计数中减去预期计数、对结果进行平方、除以预期计数并对所有类别的这些值求和来计算卡方检验统计量。在我们的例子中,检验统计量为 3.58。

为了找到获得大于或等于我们观察到的卡方统计量的值的概率,我们使用 R 中的累积分布函数,由命令 p chi-squared 表示。将结果减去 1 即可得出 p 值。在此示例中,p 值约为 0.31,表明数据没有提供反对原假设的有力证据。

值得注意的是,较大的 p 值并不能证明原假设;它只是表明缺乏反对它的证据。最后,我们应该考虑何时适合使用卡方拟合优度检验。首先,它适用于分类变量。如果您有定量变量,则可以通过对它们进行分箱将其转换为分类变量。此外,数据应通过简单随机抽样获得,预期细胞计数通常应至少为 5。如果许多垃圾箱几乎是空的,则替代方法可能更合适,例如在某些情况下使用费舍尔精确检验。

除了我们之前提到的注意事项之外,在决定是否使用卡方拟合优度检验时还需要记住一些要点。这些包括:

  1. 独立性:每个类别内的观察结果应相互独立。这个假设对于测试的有效性很重要。如果观察结果不独立,替代的统计检验可能更合适。

  2. 样本量:虽然没有固定的规则,但较大的样本量往往会提供更可靠的结果。对于较大的样本,即使与预期分布的微小偏差也可能产生统计上显着的结果。然而,非常大的样本量有时会导致显着的结果,即使是与预期分布的微小偏差,因此也必须考虑实际意义。

  3. 参数估计:在某些情况下,每个类别的预期计数并不准确,而是根据数据估计的。当根据用于假设检验的相同数据估计参数时,可能会导致有偏差的结果。在这种情况下,应考虑调整或替代方法。

  4. 具有多个水平的分类变量:我们到目前为止讨论的卡方拟合优度检验适用于测试单个分类变量与指定分布的拟合度。但是,如果您有多个分类变量并想要检查它们的联合分布,则其他检验(例如独立性卡方检验或对数线性模型)可能更合适。

值得注意的是,卡方拟合优度检验是检查观测数据是否遵循预期分布的有用工具。但是,它没有提供有关任何差异背后原因的信息,也没有确定哪些特定类别对差异影响最大。

与任何统计测试一样,对结果的解释应考虑分析的背景、背景知识和具体目标。了解测试的局限性和假设并将其用作综合分析的一部分而不是仅仅依赖其结果至关重要。

总之,卡方拟合优度检验是评估观察数据与分类变量的预期分布之间的拟合度的有价值的方法。通过比较观察计数和预期计数、计算检验统计量并确定 p 值,我们可以评估数据与原假设的兼容性。然而,重要的是要考虑假设、样本大小和其他因素,以确保测试在给定背景下的有效性和相关性。

Goodness-of-Fit Testing
Goodness-of-Fit Testing
  • 2020.11.10
  • www.youtube.com
Let's use the chi-squared distribution to test goodness of fit for categorical data. Yessss! If this vid helps you, please help me a tiny bit by mashing that...
 

R 中的卡方拟合优度检验


R 中的卡方拟合优度检验

大家好,在今天的会议中,我们将深入使用 R 进行拟合优度测试。我们将解决几个问题以更好地理解这个概念。如果您不熟悉拟合优度测试,我建议您先观看我关于该主题的介绍性视频(上面提供的链接)。

我们先从第一个问题开始。某大学声称其统计学课程中 50% 的学生是一年级学生,30% 是二年级学生,10% 是三年级学生,10% 是四年级学生。我们获得了 65 名学生的简单随机样本,样本中的分布与声称的比例略有不同。我们想要确定这些差异是否提供了强有力的证据来反驳学院的说法,或者它们是否可能是由于随机变异造成的。

为了在 R 中执行拟合优度检验,我们将使用卡方检验。我已经提取了 chi-square.test 函数的帮助文件,但我们现在只关注拟合优度测试。

首先,让我们输入数据。我们将创建一个名为“years”的向量来存储观察到的计数:28 名新生、24 名二年级学生、9 名大三学生和 4 名大四学生。

years <- c ( 28 , 24 , 9 , 4 )

接下来,我们需要在原假设下创建一个预期比例的向量。在这种情况下,原假设假设所声明的比例为真。我们将这个向量称为 props 并分配比例:新生为 0.5,二年级学生为 0.3,三年级学生为 0.1,四年级学生为 0.1。

props <- c ( 0.5 , 0.3 , 0.1 , 0.1 )

现在,我们可以使用 chi-square.test 函数执行卡方检验。基本语法很简单:chi.square.test(data, p = Expected_proportions)。请记住包含 p = props 来指定预期的比例。

result <- chi.square.test ( years , p = props )

该检验将输出自由度、卡方检验统计量和 p 值。对于这个问题,我们有三个自由度,卡方检验统计量为 3.58,p 值为 0.31。这些结果与我们在介绍视频中获得的结果相符。

p 值为 0.31,我们没有足够的证据来拒绝原假设。因此,我们不能得出结论,我们的样本分布和声称的比例之间的差异具有统计显着性。该数据与学院的说法相符。

现在,让我们继续讨论第二个问题。我们掷了 200 次骰子,结果分布如下:28 个一,32 个二,依此类推。我们想要确定这种分布是否提供了骰子不公平的证据。

我们将遵循与之前相同的流程。让我们创建一个名为 counts 的向量来存储观察到的计数:28 个一、30 个二、22 个三、31 个四、38 个五和 51 个六。

counts <- c ( 28 , 30 , 22 , 31 , 38 , 51 )

现在,我们可以直接对这些计数应用卡方检验。

result <- chi.square.test ( counts )

该检验将输出自由度、卡方检验统计量和 p 值。在本例中,我们有五个自由度,卡方检验统计量为 15.22,p 值为 0.009463。

由于 p 值非常小,为 0.009463,我们有足够的证据来拒绝原假设。因此,我们可以得出结论,根据观察到的分布,骰子似乎是加权的并且不公平。

这就结束了我们对使用 R 的卡方拟合优度检验的讨论和应用。请记住,该检验使我们能够评估观察到的数据与预期分布的兼容性,并根据 p 值进行统计推断。

Chi-Squared Goodness-of-Fit Testing in R
Chi-Squared Goodness-of-Fit Testing in R
  • 2020.11.30
  • www.youtube.com
Chi-squared testing is easy with R. Give me just five minutes, and I'll show you how to do it!If this vid helps you, please help me a tiny bit by mashing tha...
 

R 中独立性的卡方检验


R 中独立性的卡方检验

大家好,在今天的视频中,我们将使用 R 对分类变量的独立性进行卡方检验。为此,我们将使用 chi-squared.test 函数。请注意,在本视频中,我们不会介绍拟合优度测试,它也使用 R 中相同的底层函数。如果您有兴趣了解拟合优度测试,我有一个单独的视频该主题(上面提供的链接)。

让我们解决一个取自 OpenStax 统计入门教科书的问题。这个问题涉及一个志愿者团体,其中 21 岁及以上的成年人每周志愿服务 1 到 9 个小时,与残疾老年人共度时光。该计划从三类中招募志愿者:社区学院学生、四年制大学生和非学生。我们有一个列联表或双向表,它根据两个分类变量显示志愿者的分布:志愿者的类型和志愿服务的小时数,分为一到三小时、四到六小时和七小时至九小时。

现在,让我们切换到 R 并输入数据并运行卡方检验来确定这些分类变量是否相互关联。

为了输入数据,我们将使用矩阵函数创建一个名为志愿者的矩阵。我们将从左到右、从上到下按行输入数据。

volunteers <- matrix ( c ( 111 , 96 , 48 , 96 , 133 , 61 , 91 , 150 , 53 ) , nrow = 3 , byrow = TRUE )

接下来,让我们添加行名称和列名称以使矩阵更易于解释。

row.names ( volunteers ) <- c ( "Community College Students" , "Four-Year College Students" , "Non-Students" ) colnames ( volunteers ) <- c ( "1-3 hours" , "4-6 hours" , "7-9 hours" )

现在,我们有一个视觉上吸引人的表格,显示志愿者在不同类别中的分布。

要执行卡方检验,我们将使用 chi.square.test 函数。将结果分配给变量(例如模型)允许我们在需要时访问其他信息。

model <- chi.square.test ( volunteers )

要查看测试结果,只需键入变量名称模型即可。

model

测试输出将包括卡方检验统计量、自由度和 p 值。对于此示例,我们获得的卡方检验统计量为 12.991,自由度为 2,p 值通常非常小。

值得注意的是,模型对象包含附加信息,例如预期的细胞计数和残差。如果需要,可以访问这些内容以进行进一步分析。

执行卡方检验的另一种方法是将矩阵转换为表格并利用汇总函数。

vol_table <- as.table ( volunteers ) summary ( vol_table )

此方法还将提供卡方检验统计量、自由度和 p 值。

这涵盖了使用 R 对分类变量的独立性执行卡方检验的过程。请记住,卡方检验帮助我们根据观察到的频率和预期频率确定两个分类变量之间是否存在显着关联。

Chi-Squared Testing for Independence in R
Chi-Squared Testing for Independence in R
  • 2020.12.04
  • www.youtube.com
Let's learn how to use the chisq.test() function in R to check the independence of categorical variables. If this vid helps you, please help me a tiny bit by...
原因: