计算物理精解【6】-计算原理精解【3】

广义线性模型

多元回归中的 R 2 R^2 R2(也称为决定系数)

是衡量回归模型拟合优度的一个重要指标。以下是关于多元回归相关R^2的定义、性质、计算、例子和例题的详细阐述:

一、定义

R 2 R^2 R2表示模型解释的因变量变异性的比例。在多元回归模型中, R 2 R^2 R2反映了因变量的总变异中,有多少比例可以由模型中的自变量来解释。 R 2 R^2 R2的取值范围在0到1之间,值越接近1,表示模型对数据的拟合程度越好。

二、性质

  1. 无界性 R 2 R^2 R2的值域为[0,1],但不包括负值。
  2. 单调性:随着模型中自变量的增加,R^2的值通常会增大或保持不变,但不一定总是增加,因为新加入的自变量可能与因变量无关。
  3. 局限性 R 2 R^2 R2高并不意味着模型一定好,因为它可能受到样本量大小、自变量个数以及自变量之间共线性等因素的影响。为了更准确地评估模型,有时需要使用调整后的 R 2 ( A d j u s t e d R 2 ) R^2(Adjusted R^2) R2AdjustedR2等其他指标。

三、计算

R^2的计算公式如下:

R 2 = 1 − ∑ i = 1 n ( Y i − Y ^ i ) 2 ∑ i = 1 n ( Y i − Y ˉ ) 2 R^2 = 1 - \frac{\sum_{i=1}^n (Y_i - \hat{Y}_i)^2}{\sum_{i=1}^n (Y_i - \bar{Y})^2} R2=1i=1n(YiYˉ)2i=1n(YiY^i)2

其中:

  • Y i Y_i Yi 是观测值(实际值)。
  • Y ^ i \hat{Y}_i Y^i 是预测值(通过回归模型预测的值)。
  • Y ˉ \bar{Y} Yˉ 是所有观测值的平均值。
  • n n n 是观测值的数量。

公式中的分子部分 ∑ i = 1 n ( Y i − Y ^ i ) 2 \sum_{i=1}^n (Y_i - \hat{Y}_i)^2 i=1n(YiY^i)2 称为残差平方和(Residual Sum of Squares, RSS),它衡量的是模型预测值与实际观测值之间的差异。分母部分 ∑ i = 1 n ( Y i − Y ˉ ) 2 \sum_{i=1}^n (Y_i - \bar{Y})^2 i=1n(YiYˉ)2称为总平方和(Total Sum of Squares, TSS),它衡量的是观测值与其平均值之间的差异。

四、例子

假设我们有一个多元回归模型,用于预测某地区的房价(Y),自变量包括房屋面积(X1)、房龄(X2)和地理位置评分(X3)。通过收集一定数量的数据点,我们可以使用统计软件计算出 R 2 R^2 R2的值。如果 R 2 R^2 R2=0.85,则表示模型解释了房价变异的85%,剩余15%的变异则无法由模型中的自变量来解释。

五、例题

例题:某研究团队想要研究学生期末考试成绩(Y)与其平时成绩(X1)、作业完成情况(X2)和课堂参与度(X3)之间的关系。请基于一组样本数据,计算多元回归模型的R^2值,并解释其含义。

解答步骤

  1. 数据收集:收集一定数量的观测值,包括期末考试成绩(Y)、平时成绩(X1)、作业完成情况(X2)和课堂参与度(X3)的数据。

  2. 模型构建与拟合:使用统计软件(如SPSS、R或Python的statsmodels库)构建多元回归模型,并将数据拟合到模型中。

  3. 计算 R 2 R^2 R2:统计软件会自动计算出 R 2 R^2 R2的值。假设 R 2 R^2 R2=0.72。

  4. 结果解释 R 2 R^2 R2=0.72表示模型解释了期末考试成绩变异的72%,剩余28%的变异可能受到其他未考虑的因素(如个人天赋、家庭背景等)的影响。这表明,虽然平时成绩、作业完成情况和课堂参与度对学生的期末考试成绩有重要影响,但它们并不能完全解释考试成绩的变异。

偏相关系数

是统计学中用于分析两个变量之间净相关性的一种工具,特别是在存在其他变量影响的情况下。以下是对偏相关系数的定义、计算、性质及例子的详细阐述:

一、定义

偏相关系数(Partial Correlation Coefficient)表示在排除了其他变量影响的情况下,两个变量之间的相关程度。它是用来度量在控制了其他变量后,两个变量之间线性关系的强度和方向。偏相关系数能够更准确地反映两个变量之间的真实相关性,避免了其他变量可能产生的混杂效应。

二、计算

  1. 偏相关系数的计算通常涉及复杂的统计方法,但基本思路是控制其他变量的影响,然后计算两个变量之间的净相关性。具体计算方法有多种,包括迭代法、相关矩阵求逆法等。在实际应用中,统计软件(如SPSS、R等)通常提供了计算偏相关系数的功能,用户只需输入相应的数据即可得到结果。

以三个变量X、Y、Z为例,计算X和Y之间的偏相关系数(控制Z的影响),可以使用以下公式:

r X Y . Z = r X Y − r X Z ⋅ r Y Z ( 1 − r X Z 2 ) ( 1 − r Y Z 2 ) r_{XY.Z} = \frac{r_{XY} - r_{XZ} \cdot r_{YZ}}{\sqrt{(1 - r_{XZ}^2)(1 - r_{YZ}^2)}} rXY.Z=(1rXZ2)(1rYZ2) rXYrXZrYZ

其中, r X Y r_{XY} rXY r X Z r_{XZ} rXZ r Y Z r_{YZ} rYZ 分别为X与Y、X与Z、Y与Z之间的简单相关系数。

  1. 简单相关系数,通常被称为皮尔逊相关系数(Pearson Correlation Coefficient),是一种衡量两个变量之间线性相关程度的统计指标。它的值介于-1和1之间,其中:
  • 1表示完全正相关,即一个变量增加时,另一个变量也按相同比例增加。
  • -1表示完全负相关,即一个变量增加时,另一个变量按相同比例减少。
  • 0表示没有线性相关,即两个变量之间没有明确的线性关系。

计算简单相关系数的公式是:

r = ∑ ( x i − x ˉ ) ( y i − y ˉ ) ∑ ( x i − x ˉ ) 2 ∑ ( y i − y ˉ ) 2 r = \frac{\sum (x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum (x_i - \bar{x})^2 \sum (y_i - \bar{y})^2}} r=(xixˉ)2(yiyˉ)2 (xixˉ)(yiyˉ)

其中, x i x_i xi y i y_i yi 是两个变量的观测值, x ˉ \bar{x} xˉ y ˉ \bar{y} yˉ 是它们的均值。

这个公式衡量的是两个变量之间的协方差与它们标准差的乘积之比。协方差表示两个变量一起变化的程度,而标准差则表示每个变量自身变化的程度。

简单相关系数只能捕捉线性关系,不能捕捉非线性关系。此外,它也容易受到异常值的影响。在使用时,还需要注意两个变量是否服从正态分布,因为皮尔逊相关系数在正态分布下效果最好。如果数据不满足正态分布的假设,可能需要使用其他类型的相关系数,如斯皮尔曼秩相关系数或肯德尔相关系数。

三、性质

  1. 取值范围:偏相关系数的取值范围在-1到1之间。当偏相关系数接近1或-1时,表示两个变量之间存在较强的净正相关或负相关关系;当偏相关系数接近0时,表示两个变量之间的净相关性较弱。
  2. 方向性:偏相关系数的正负号表示了两个变量之间净相关性的方向。正值表示正相关,负值表示负相关。
  3. 绝对性与相对性:偏相关系数的绝对值越大,表示两个变量之间的净相关性越强;但其绝对值必小于或等于由同一资料计算的复相关系数。
  4. 对称性:偏相关系数的下角标可以互换位置而不影响结果,如 r X Y . Z = r Y X . Z r_{XY.Z} = r_{YX.Z} rXY.Z=rYX.Z

四、例子

假设我们正在研究学生的数学成绩(X)、阅读成绩(Y)和学习时间(Z)之间的关系。为了了解数学成绩和阅读成绩之间的净相关性(即排除学习时间的影响),我们可以收集一组学生的数学成绩、阅读成绩和学习时间的数据,并使用偏相关系数公式进行计算。

例如,假设有以下数据(数据仅为示例):

学生编号数学成绩X阅读成绩Y学习时间Z
1807010
2857512
3908014

首先,我们需要计算X与Y、X与Z、Y与Z之间的简单相关系数 r X Y r_{XY} rXY r X Z r_{XZ} rXZ r Y Z r_{YZ} rYZ。然后,将这些值代入偏相关系数公式 r X Y . Z = r X Y − r X Z ⋅ r Y Z ( 1 − r X Z 2 ) ( 1 − r Y Z 2 ) r_{XY.Z} = \frac{r_{XY} - r_{XZ} \cdot r_{YZ}}{\sqrt{(1 - r_{XZ}^2)(1 - r_{YZ}^2)}} rXY.Z=(1rXZ2)(1rYZ2) rXYrXZrYZ中,得到数学成绩和阅读成绩之间的偏相关系数。这个偏相关系数就反映了在控制学习时间的影响后,数学成绩和阅读成绩之间的净相关性。

请注意,以上例子中的数据是虚构的,仅用于说明偏相关系数的计算过程。在实际应用中,应使用真实的数据进行分析。

多元回归相关

定义

在多元回归分析中,由于涉及到多个自变量,我们通常不直接计算一个单一的相关系数来描述因变量与所有自变量之间的关系。然而,可以计算每个自变量与因变量之间的偏相关系数,它表示在控制其他自变量不变的情况下,某一自变量与因变量之间的线性相关程度。

性质

  1. 无偏性:在理想条件下,偏相关系数的期望值等于总体参数的真实值。
  2. 敏感性:偏相关系数能够敏感地反映出自变量与因变量之间的线性关系强度,即使这种关系受到其他自变量的影响。

假设检验

定义
  • 假设检验是统计学中用于检验样本数据所代表的总体是否具有某种特征或规律的方法。在多元回归分析中,假设检验主要用于检验回归模型的显著性和各个自变量的显著性。

  • 假设检验是一种统计推断方法,用于根据样本数据对总体参数或总体分布形式做出判断。它基于一定的假设条件,通过比较样本数据与假设之间的差异,来决定是否拒绝原假设。在假设检验中,通常有两个假设:原假设(H0)和备择假设(H1)。原假设是初始的假设,通常表示没有差异或没有变化;备择假设则是与原假设相反的假设,表示存在差异或变化。

计算

假设检验的计算过程通常包括以下几个步骤:

  1. 确定原假设和备择假设:根据研究目的和背景知识,明确原假设和备择假设。
  2. 选择检验统计量:根据数据的类型和分布,选择合适的检验统计量。例如,对于正态分布的数据,可以使用t检验或z检验;对于非正态分布的数据,可以使用秩和检验等。
  3. 计算检验统计量的值:根据样本数据,计算所选检验统计量的具体数值。
  4. 确定显著性水平和拒绝域:根据研究需求和常用的显著性水平(如0.05、0.01等),确定拒绝域的范围。显著性水平表示在原假设为真的情况下,拒绝原假设的概率。
  5. 做出决策:比较计算得到的检验统计量值与拒绝域的范围,如果检验统计量值落在拒绝域内,则拒绝原假设;否则,接受原假设。
性质
  1. 决策的不确定性:假设检验的结果是一种决策,但这种决策是基于样本数据做出的,因此存在一定的不确定性。即使拒绝了原假设,也不能完全确定备择假设就是正确的。
  2. 显著性水平的影响:显著性水平的选择对假设检验的结果有重要影响。显著性水平越高,拒绝原假设的门槛越低,越容易得出显著差异的结论;反之,显著性水平越低,拒绝原假设的门槛越高,越难得出显著差异的结论。
  3. 检验统计量的选择:不同的检验统计量对数据的敏感性和适用性不同。选择合适的检验统计量对于得出准确的假设检验结果至关重要。
  4. 样本量的影响:样本量的大小对假设检验的结果也有影响。一般来说,样本量越大,假设检验的结果越可靠;但样本量过大也可能增加计算复杂度和成本。
  5. 统计推断:假设检验是基于样本数据对总体参数进行推断的过程。
  6. 显著性水平:通常设定一个显著性水平(如0.05),以判断样本数据是否提供了足够的证据来拒绝原假设。
检验方法

假设检验方法是统计学中用于评估某个假设在数据中的表现的一种重要工具。下面将从定义、公式、例子和例题四个方面进行详细介绍。

一、定义

假设检验是一种统计推断方法,用来判断样本与样本、样本与总体的差异是由抽样误差引起还是本质差别造成的。其基本原理是先对总体的特征作出某种假设,然后通过抽样研究的统计推理,对此假设应该被拒绝还是接受作出推断。假设检验的目的是排除抽样误差的影响,区分差别在统计上是否成立,并了解事件发生的概率。

二、公式

假设检验的公式因检验类型和情境而异。以下是一些常见假设检验方法的公式概览:

  1. Z检验(U检验)

    • 适用于大样本(样本容量大于30)且总体方差已知的情况。
    • 公式: Z = X ˉ − μ 0 σ / n Z = \frac{\bar{X} - \mu_0}{\sigma / \sqrt{n}} Z=σ/n Xˉμ0
    • 其中, X ˉ \bar{X} Xˉ是样本均值, μ 0 \mu_0 μ0是总体均值, σ \sigma σ 是总体标准差, n n n 是样本容量。
  2. T检验

    • 适用于小样本(样本容量小于30)或总体方差未知的情况。
    • 公式: T = X ˉ − μ 0 S / n T = \frac{\bar{X} - \mu_0}{S / \sqrt{n}} T=S/n Xˉμ0
    • 其中, S S S$$ 是样本标准差,其他符号意义同上。
  3. 卡方检验

    • 适用于比较两个及两个以上样本率或构成比,以及两个分类变量的关联性分析。
    • 公式较为复杂,通常通过软件计算卡方统计量( χ 2 \chi^2 χ2)及其对应的P值。
  4. F检验

    • 用于比较两个或多个正态分布的方差是否相等。
    • 公式同样较为复杂,涉及两个样本方差的比值。
三、例子

假设检验的例子很多,以下是一个简单的Z检验例子:

例子:某洗衣粉加工机器要求每袋洗衣粉500g,现随机抽9袋进行检查,发现其重量分别为:505、499、502、506、498、498、497、510、503g,假设标准差σ=2g固定不变,问这个加工机器是否合格(即生产的洗衣粉重量均值是否为500g)?

  • 提出假设

    • H 0 : μ = 500 H_0: \mu = 500 H0:μ=500(原假设:机器生产的洗衣粉重量均值等于500g)
    • H 1 : μ ≠ 500 H_1: \mu \neq 500 H1:μ=500(备择假设:机器生产的洗衣粉重量均值不等于500g)
  • 计算统计量

    • 使用Z检验公式,首先计算样本均值 X ˉ \bar{X} Xˉ和标准误差,然后计算Z值。
  • 比较与决策

    • 将计算得到的Z值与显著性水平(如α=0.05)对应的临界值进行比较。如果Z值的绝对值大于临界值,则拒绝原假设,认为机器生产的洗衣粉重量均值与500g有显著差异;否则,接受原假设。
四、例题

例题:某公司想要验证新引进的自动加工装置的工作温度是否符合厂方宣称的80度(假设工作温度X服从正态分布(N(\mu, 5^2)))。现随机抽取10台装置进行测试,得到的工作温度均值为82度,标准差为4度。在显著性水平α=0.05下,判断该装置的工作温度是否符合厂方宣称。

  • 提出假设

    • H 0 : μ = 80 H_0: \mu = 80 H0:μ=80(原假设:装置的工作温度均值等于80度)
    • H 1 : μ ≠ 80 H_1: \mu \neq 80 H1:μ=80 (备择假设:装置的工作温度均值不等于80度)
  • 计算统计量

    • 由于样本量较小且总体方差未知,应使用T检验。首先计算样本均值和样本标准差,然后代入T检验公式计算T值。
  • 查找临界值

    • 根据自由度(n-1)和显著性水平α=0.05,在T分布表中查找对应的双侧临界值。
  • 比较与决策

    • 将计算得到的T值与临界值进行比较。如果T值的绝对值大于临界值,则拒绝原假设,认为装置的工作温度均值与80度有显著差异;否则,接受原假设。

请注意,由于实际计算涉及具体数值和表格查找,上述例题中的具体计算步骤和结果未给出。在实际应用中,研究者应根据收集到的数据和相关统计表进行具体计算。

例子和例题
例子

假设有一个多元回归模型,用于预测某商品的需求量(Y),自变量包括商品价格(X1)、消费者收入(X2)和广告支出(X3)。通过收集样本数据并进行回归分析,可以得到每个自变量的回归系数和相应的t统计量及P值。如果某个自变量的P值小于显著性水平(如0.05),则可以认为该自变量对需求量的影响是显著的。

例题

某研究团队想要研究家庭收入(X1)、受教育年限(X2)和家庭规模(X3)对家庭消费支出(Y)的影响。他们收集了100户家庭的数据,并进行了多元回归分析。以下是部分回归分析结果:

自变量回归系数标准误t值P值
家庭收入0.50.15.00.000
受教育年限0.30.152.00.05
家庭规模-0.20.08-2.50.01

根据上表,我们可以进行如下假设检验:

  • 对于家庭收入,P值远小于0.05,因此拒绝原假设,认为家庭收入对家庭消费支出有显著影响。
  • 对于受教育年限,P值等于0.05,处于显著性水平的边缘,但通常认为小于或等于0.05即显著,因此也拒绝原假设,认为受教育年限对家庭消费支出有显著影响。
  • 对于家庭规模,P值小于0.05,因此拒绝原假设,认为家庭规模对家庭消费支出有显著影响。

请注意,以上例题中的数据是虚构的,仅用于说明假设检验的过程。在实际应用中,应使用真实的数据进行分析。

例子

例子:某工厂生产了一批产品,声称其平均重量为100克。为了验证这一声称,我们随机抽取了100个产品进行称重。假设原假设为H0:产品平均重量为100克;备择假设为H1:产品平均重量不为100克。我们选择t检验作为检验统计量,并设定显著性水平为0.05。

计算过程

  1. 计算样本数据的平均值和标准差。
  2. 根据t检验的公式,计算t值。
  3. 查找t分布表,确定在显著性水平为0.05下的临界t值。
  4. 比较计算得到的t值与临界t值。如果t值大于临界t值,则拒绝原假设;否则,接受原假设。

结果解释:假设计算得到的t值为2.5,而临界t值为1.96(根据t分布表和显著性水平确定)。由于2.5大于1.96,因此我们拒绝原假设,认为产品的平均重量不为100克。这一结论是基于样本数据做出的,因此存在一定的不确定性。但为了提高结论的可靠性,我们可以增加样本量或选择更敏感的检验统计量进行进一步验证。

在多元回归分析中,常用的假设检验方法

在多元回归分析中,我们常用的假设检验方法主要包括对回归系数的显著性检验、对整体回归模型的显著性检验(F检验),以及对回归模型的拟合优度检验等。以下是这些假设检验方法的定义与相关公式:

1. 回归系数的显著性检验(t检验)
t检验

定义
回归系数的显著性检验用于测试每个自变量对因变量是否有显著影响,即检验回归系数是否显著不为零。

公式

  • 假设 H 0 : β j = 0 H_0: \beta_j = 0 H0:βj=0(即第j个自变量对因变量无显著影响)
  • t值计算公式: t = β ^ j S E ( β ^ j ) t = \frac{\hat{\beta}_j}{SE(\hat{\beta}_j)} t=SE(β^j)β^j
    其中, β ^ j \hat{\beta}_j β^j 是第j个回归系数的估计值, S E ( β ^ j ) SE(\hat{\beta}_j) SE(β^j) 是其标准误。
  • 标准误 S E ( β ^ j ) SE(\hat{\beta}_j) SE(β^j) 的计算公式通常涉及残差和设计矩阵,具体形式依赖于数据的具体情况和回归模型的设定。

或更一般地,对于线性回归模型中的每个回归系数 β i \beta_i βi,其显著性检验的t值计算公式为:

t = β i − 0 S E ( β i ) t = \frac{\beta_i - 0}{SE(\beta_i)} t=SE(βi)βi0

如果我们对 β i \beta_i βi有一个特定的非零假设值 β i 0 \beta_{i0} βi0,则公式为:

t = β i − β i 0 S E ( β i ) t = \frac{\beta_i - \beta_{i0}}{SE(\beta_i)} t=SE(βi)βiβi0

其中, S E ( β i ) SE(\beta_i) SE(βi)是回归系数 β i \beta_i βi的标准误,通常可以从回归软件的输出中获得。在大多数情况下,我们关心的是 β i \beta_i βi是否显著不等于0,因此使用第一个公式。

p值不是直接计算出来的,而是根据t值和自由度(样本大小减去自变量数量减一)从t分布中查找或计算出来的。在Julia中,我们可以使用统计库来计算p值。

  • 回归系数的标准误(Standard Error of the Regression Coefficient)是衡量回归系数估计值精确度的一个统计量。它表示在重复抽样和模型拟合的过程中,回归系数估计值的变动程度。标准误越小,说明估计值越稳定,模型拟合的精度越高。

在线性回归模型中,回归系数的标准误通常通过以下公式计算:

S E ( β i ) = s 2 ⋅ ( X ′ X ) i i − 1 SE(\beta_i) = \sqrt{s^2 \cdot (X'X)^{-1}_{ii}} SE(βi)=s2(XX)ii1

其中:

  • S E ( β i ) SE(\beta_i) SE(βi) 是第 i i i 个回归系数的标准误。
  • s 2 s^2 s2 是残差方差,即 s 2 = ∑ i = 1 n ( y i − y ^ i ) 2 n − k − 1 s^2 = \frac{\sum_{i=1}^{n} (y_i - \hat{y}_i)^2}{n-k-1} s2=nk1i=1n(yiy^i)2,其中 y i y_i yi 是观测值, y ^ i \hat{y}_i y^i 是预测值, n n n 是样本大小, k k k 是自变量数量(不包括常数项)。
  • ( X ′ X ) − 1 (X'X)^{-1} (XX)1 是设计矩阵 X X X 的转置与自身相乘后取逆矩阵。
  • ( X ′ X ) i i − 1 (X'X)^{-1}_{ii} (XX)ii1 是逆矩阵中第 i i i 行第 i i i 列的元素。

在Julia中,要计算线性回归模型回归系数的标准误(Standard Error of the Regression Coefficient),我们通常需要手动计算或使用现有的统计包。下面是一个手动计算的示例,以及如何使用GLMNet包(尽管它主要用于正则化回归,但可以用于此目的)的简要说明。然而,更常见的是使用像MixedModels.jlRegressionTables.jl这样的包,但这里我们将展示一个基础实现。

手动计算标准误

首先,我们需要拟合线性回归模型,然后计算残差、残差方差,最后使用设计矩阵的逆来计算标准误。

using LinearAlgebra  # 引入线性代数功能

# 假设数据
X = [1, 2, 3, 4, 5]'  # 自变量,注意Julia中矩阵的转置使用'
Y = [2, 3, 5, 7, 11]' # 因变量

# 添加常数项(截距)
X = [ones(size(X, 1), 1) X]  # 在X前面添加一列1

# 拟合回归模型(正规方程解)
β = (X' * X) \ (X' * Y)

# 计算残差
e = Y - X * β

# 残差方差(假设同方差性)
σ² = (e' * e) / (length(Y) - size(X, 2))  # 自由度是n-k-1,其中n是样本大小,k是自变量数量(包括截距)

# 回归系数的标准误
SE_β = sqrt.(diag((X' * X) \ (σ² * eye(size(X, 2)))))

# 输出结果
println("回归系数: ", β)
println("标准误: ", SE_β)
使用GLMNet包

虽然GLMNet主要用于正则化回归(如Lasso和Ridge回归),但它也可以用于计算线性回归模型的回归系数和标准误(尽管不是直接提供标准误,但我们可以从结果中推导出来)。然而,GLMNet在Julia中的标准安装可能不包含直接计算标准误的功能,因此这里我们主要展示手动计算的方法。

如果你想要一个更全面的解决方案,你可能需要查看MixedModels.jlRegressionTables.jl等包,这些包提供了更高级的回归分析和更详细的统计输出,包括标准误。

注意事项
  • 在实际应用中,确保你的数据满足线性回归模型的假设,如线性关系、同方差性、无自相关性和正态分布的残差。
  • 标准误的计算依赖于残差方差的估计,因此对数据中的异常值或离群点敏感。
  • 在使用任何统计包时,请务必阅读文档并理解其背后的统计原理。

需要注意的是,标准误的计算依赖于模型的假设,如线性关系、同方差性、无自相关性和正态分布的残差等。如果这些假设不成立,标准误的估计可能会受到影响。

决策规则

  • 若计算的t值大于临界值(或对应的p值小于显著性水平,如0.05),则拒绝原假设,认为该自变量对因变量有显著影响。
  • 回归系数的显著性检验是统计学中用于评估回归模型中各个自变量对因变量影响是否显著的一种方法。
Julia实现

在Julia中,我们可以使用StatsModels包(如果可用)或其他统计包来执行线性回归和显著性检验。然而,StatsModels是Python的一个库,而不是Julia的。在Julia中,更常用的可能是GLMNet, MixedModels, RegressionTables等包,或者直接使用基础统计函数。

以下是一个使用Julia基础函数进行线性回归和显著性检验的示例(注意:这个示例不使用外部包,但在实际应用中,你可能会想使用更专门的包来获得更全面的统计输出):

# 假设数据
X = [1, 2, 3, 4, 5]'  # 自变量,注意Julia中矩阵的转置使用'
Y = [2, 3, 5, 7, 11]' # 因变量

# 添加常数项(截距),Julia中通常不需要显式添加,因为许多函数会自动处理
# 但如果我们要手动做,可以这样:
X = [ones(size(X, 1), 1) X]  # 在X前面添加一列1

# 使用Julia的线性代数功能来拟合回归模型
# 正规方程解:β = (X'X)^(-1)X'Y
β = (X' * X) \ (X' * Y)

# 注意:这里没有直接计算标准误SE(β)和t值的功能,
# 通常我们需要使用更专门的统计包来获取这些值。
# 但是,我们可以手动计算残差和方差来近似标准误:

# 计算残差
e = Y - X * β

# 残差方差(假设同方差性)
σ² = (e' * e) / (length(Y) - size(X, 2))  # 注意自由度是n-k-1,但这里我们简化为n-k

# 回归系数的标准误(近似)
# 注意:这里使用的是简化公式,实际中可能需要考虑更复杂的情况
SE_β = sqrt.(diag((X' * X) \ (σ² * eye(size(X, 2)))))

# 计算t值
t_values = β ./ SE_β

# 使用Julia的Distributions包来计算p值(需要安装Distributions包)
# 这里我们假设t分布的自由度是n-k-1(其中n是样本大小,k是自变量数量)
using Distributions
df = length(Y) - size(X, 2)  # 自由度
p_values = 2 * ccdf.(TDist(df), abs.(t_values))  # 双尾p值

# 输出结果
println("回归系数: ", β)
println("t值: ", t_values)
println("p值: ", p_values)

注意:上面的代码示例是为了说明概念而编写的,并不是最优或最完整的Julia实现。在实际应用中,你应该使用专门的统计包来处理线性回归和显著性检验,因为这些包通常提供了更准确、更全面的统计输出,并且考虑了更多的统计假设和细节。在Julia中,你可能会想查看MixedModels.jl, RegressionTables.jl或其他相关包。此外,上面的代码没有处理所有可能的错误和异常情况,例如矩阵不可逆的情况。在实际应用中,你需要添加适当的错误处理。

2. 整体回归模型的显著性检验(F检验)
F检验

定义
整体回归模型的显著性检验用于测试所有自变量作为一个整体是否对因变量有显著影响。

公式

  • 假设 H 0 : β 1 = β 2 = … = β k = 0 H_0: \beta_1 = \beta_2 = \ldots = \beta_k = 0 H0:β1=β2==βk=0(即所有自变量对因变量均无显著影响)

  • 整体回归模型的显著性检验(F检验)用于测试模型中至少有一个自变量对因变量有显著影响。F检验的公式为:

F = MSS / ( k − 1 ) RSS / ( n − k ) F = \frac{\text{MSS} / (k-1)}{\text{RSS} / (n-k)} F=RSS/(nk)MSS/(k1)

其中:

  • MSS(Model Sum of Squares)是模型平方和,即回归模型解释的变异量,计算公式为 ∑ ( Y ^ i − Y ˉ ) 2 \sum (\hat{Y}_i - \bar{Y})^2 (Y^iYˉ)2
  • RSS(Residual Sum of Squares)是残差平方和,即未被模型解释的变异量,计算公式为 ∑ ( Y i − Y ^ i ) 2 \sum (Y_i - \hat{Y}_i)^2 (YiY^i)2
  • k k k 是自变量个数(包括截距项)。
  • n n n 是样本大小。
  • F F F 服从 F k − 1 , n − k F_{k-1, n-k} Fk1,nk分布。
在Julia中实现F检验

我们可以按照以下步骤进行:

  1. 拟合回归模型。
  2. 计算MSS和RSS。
  3. 计算F值。
  4. 使用F分布计算p值(可选,但通常用于判断显著性)。

下面是一个Julia实现的示例:

using LinearAlgebra  # 引入线性代数功能
using Distributions  # 引入分布功能,用于计算p值

# 假设数据
X = [1, 2, 3, 4, 5]'  # 自变量
Y = [2, 3, 5, 7, 11]' # 因变量

# 添加常数项(截距)
X = [ones(size(X, 1), 1) X]  # 在X前面添加一列1

# 拟合回归模型(正规方程解)
β = (X' * X) \ (X' * Y)

# 预测值
Y_hat = X * β

# 计算MSS和RSS
MSS = sum((Y_hat - mean(Y)).^2)
RSS = sum((Y - Y_hat).^2)

# 计算F值
k = size(X, 2)  # 自变量个数(包括截距)
n = length(Y)   # 样本大小
F_value = (MSS / (k - 1)) / (RSS / (n - k))

# 计算p值(使用F分布)
F_dist = FDist(k - 1, n - k)
p_value = 1 - cdf(F_dist, F_value)  # 双侧检验的p值

# 输出结果
println("F值: ", F_value)
println("p值: ", p_value)

# 判断显著性水平
alpha = 0.05  # 设定显著性水平
if p_value < alpha
    println("回归模型在显著性水平", alpha, "下显著。")
else
    println("回归模型在显著性水平", alpha, "下不显著。")
end

请注意,Distributions包用于计算F分布的p值。在运行上述代码之前,请确保已经安装了Distributions包。如果尚未安装,可以使用Pkg.add("Distributions")命令进行安装。

此外,上述代码中的显著性检验是双侧检验,即检验模型是否显著不同于无效应模型(即所有自变量系数都为零的模型)。如果F值很大,且p值小于设定的显著性水平(如0.05),则可以拒绝原假设,认为模型中至少有一个自变量对因变量有显著影响。
决策规则

  • 若计算的F值大于临界值(或对应的p值小于显著性水平),则拒绝原假设,认为整体回归模型对因变量有显著影响。
3. 回归模型的拟合优度检验

定义
拟合优度检验用于评估回归模型对数据的拟合程度。

常用指标

  • R 2 R^2 R2(决定系数): R 2 = 1 − R S S T S S R^2 = 1 - \frac{RSS}{TSS} R2=1TSSRSS
    其中,TSS是总平方和。 R 2 R^2 R2越接近1,说明模型拟合得越好。
  • 调整后的 R 2 R^2 R2:用于克服增加自变量导致 R 2 R^2 R2自动增加的问题,公式为 R a d j 2 = 1 − R S S / ( n − k ) T S S / ( n − 1 ) R_{adj}^2 = 1 - \frac{RSS / (n-k)}{TSS / (n-1)} Radj2=1TSS/(n1)RSS/(nk)
  • 其中:
    • MSS(Model Sum of Squares)是模型平方和,即回归模型解释的变异量,计算公式为 ∑ ( Y ^ i − Y ˉ ) 2 \sum (\hat{Y}_i - \bar{Y})^2 (Y^iYˉ)2
    • RSS(Residual Sum of Squares)是残差平方和,即未被模型解释的变异量,计算公式为 ∑ ( Y i − Y ^ i ) 2 \sum (Y_i - \hat{Y}_i)^2 (YiY^i)2

注意

  • R 2 R^2 R2和调整后的 R 2 R^2 R2都是用于评估模型拟合优度的指标,但它们并不直接用于假设检验。
  • 在实际应用中,还需要结合其他诊断工具(如残差分析)来全面评估回归模型的适用性和准确性。

综上所述,多元回归分析中的假设检验方法主要包括对回归系数的显著性检验(t检验)、对整体回归模型的显著性检验(F检验)以及回归模型的拟合优度检验。这些方法共同构成了评估回归模型有效性和准确性的重要工具。

参考文献

  1. 文心一言
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值