混合模型方差分析

文章目录

  • 一、说明
  • 二、受试者“间”因素和受试者“内”因素的意思?
  • 三、混合模型方差分析回答 3 件事
  • 四、混合模型方差分析的假设

一、说明

在本文中,我将讨论一种称为混合模型方差分析的方差分析变体,也称为具有重复测量的 2 因素方差分析。这种统计方法用于分析包括受试者间因素(不同组)和受试者内因素(对同一受试者的重复测量)的数据。

二、受试者“间”因素和受试者“内”因素的意思?

​​在这里插入图片描述
受试者间因素和受试者内因素
假设我们想测试不同的教学方法(A、B 和 C)是否会影响学生的表现。我们对 15 名参与者进行研究,每组随机分配 5 名参与者(每组一种教学方法)。这种设置体现了主题之间的因素。

“受试者间因素”表示研究中的每个参与者只被分配到一组,并且每组经历不同的情况。

在此分析中,我们的目标是确定各组之间的平均性能水平是否存在显着差异,这正是单因素方差分析旨在实现的目标。如果您需要更多详细信息,可以参考我之前的文章,位于“参考资料”部分。

但是,我们可以探索一种教学方法在多个时间点对每个科目的影响,例如:

  • 在应用教学方法之前(预测试)
  • 教学期过半
  • 应用教学方法后(后测)
    这个过程代表了受试者内因素

此过程表示主题内因素。因此,在混合模型方差分析中,我们至少有一个受试者内因子和一个受试者间因子。

三、混合模型方差分析回答 3 件事

受试者内因素效应:它确定受试者内因素(前测、中测、后测等时间点)是否对因变量(学生表现)有显着影响。
受试者间因素效应:它评估了学科间因素(不同的教学方法)是否对因变量有显着影响。
交互作用:它检查了受试者内和受试者之间的因素之间是否存在显着的交互作用。
设置假设
在混合模型方差分析中,通常有三个假设

1/ 受试者内因素(时间)的主效应

原假设 (H0): 不同测量时间点的平均值没有显著差异。
备择假设 (H1):不同测量时间点的平均值存在显著差异。
2/ 学科间因素的主要影响(教学方法)

原假设 (H0):不同教学方法组的平均值没有显著差异。
备择假设 (H1): 不同教学方法组的平均值存在显著差异。
3/ 互动效果(教学方法*时间):

原假设 (H0):教学方法对绩效的影响不会随时间而改变(没有相互作用)。
备择假设 (H1): 教学方法对绩效的影响会随着时间而变化(存在交互作用)。

四、混合模型方差分析的假设

1 常态:因变量应近似正态分布在受试者间因子的每一组中。
2 独立:观察结果是独立的。
3 方差的同质性:因变量的方差在受试者间因子的不同组中应该是相等的(我们可以使用 Levene 检验来检查假设,您可以在 参考资料 部分阅读我关于它的文章
4 无显著异常值:数据不应包含显著的异常值,因为它们会不成比例地影响分析结果。
5 协方差的同质性:对于受试者内因素(时间),相关组的所有组合之间的差异方差应相等。(可以使用 Mauchly 的球形度测试进行测试,以后可以调整)
关于协方差的同质性的注意事项:在我们的例子中,我们有 3 个组。
第一组之间的差异。
第二组的差异,第一组和第三组的差异。
第二组和第三组之间的差值应具有相同的方差。

1/ 数据 :让我们计算一下前面的例子。我将利用 Numpy 生成随机数据。

import pandas as pd
import numpy as np
from pingouin import mixed_anovanp.random.seed(0)n = 15time_points = ['T1', 'T2', 'T3']data = pd.DataFrame({'Participant': np.repeat(range(1, n+1), len(time_points)),'Teaching_Method': np.repeat(['A', 'B', 'C'], n),'Time': np.tile(time_points, n),'Score': np.random.randint(50, 100, size=n*len(time_points))
})data.head()

在这里插入图片描述
2/ 假设:

A/ 正态性 : 现在,我们需要验证这些假设。我将首先使用 Shapiro-Wilk 检验检查正态性

注意:

  • 原假设 (H0) 是数据服从正态分布。
  • 如果 p 值大于所选的显著性水平,则我们无法否定原假设。这表明没有重要证据可以得出数据偏离正态分布的结论。
from scipy.stats import shapirofor method, group_data in data.groupby('Teaching_Method')['Score']:stat, p = shapiro(group_data)print(f'Shapiro-Wilk test for {method}: p-value = {p}')# Shapiro-Wilk test for A: p-value = 0.3026245223583117
# Shapiro-Wilk test for B: p-value = 0.5795532845153779
# Shapiro-Wilk test for C: p-value = 0.7610549007614936

由于在所有教学方法的 Shapiro-Wilk 检验中,所有 p 值都大于 0.05(我使用的显著性水平),这表明没有明显证据表明偏离正态性。因此,满足正态性假设。

B/ 方差的同质性:为了评估方差的同质性,我将采用 Levene 检验。

from scipy.stats import levenestat, p = levene(*[group_data for method, group_data in data.groupby('Teaching_Method')['Score']])
print(f'Levene\'s test for homogeneity of variances: p-value = {p}')
# Levene's test for homogeneity of variances: p-value = 0.8937735564168452

注意:

Levene检验中的原假设(H0)是被比较组的方差相等。
由于 Levene 检验的 p 值为 0.89(大于显著性水平),因此我们无法否定原假设,表明没有显着证据表明教学方法组之间的方差存在显着差异。

C/ 协方差的齐质性:如前所述,我们可以利用 Mauchly 测试来实现此目的。

from pingouin import sphericitysphericity_test = sphericity(data, dv='Score', subject='Participant', within='Time')print(sphericity_test)
# SpherResults(spher=True, W=0.9298475348159647, chi2=0.9455504153256469, dof=2, pval=0.6232701617877808)

注意:

  • 原假设 (H0) 是所有可能的受试者内条件对之间的差异方差相等。
    “spher=True” 参数表示满足球形度的假设。此外,当观察 p 值(大于 alpha)时,有大量证据拒绝球形度的假设。

D/ 异常值 :我们可以采用Tukey的方法(Tukey的栅栏,Tukey的规则),它涉及以下步骤:

计算数据的四分位距 (IQR),即第三个四分位数 (Q3) 和第一个四分位数 (Q1) 之间的差值。您也可以在“参考资料”部分参考我关于它的文章。
将下围栏 (LF) 定义为 Q1–1.5 * IQR,将上围栏 (UF) 定义为 Q3 + 1.5 * IQR。任何低于下围栏或高于上围栏的数据点都被视为潜在的异常值。
注意: 对于异常值数显著的阈值,没有一般规则,因为它可能取决于多个因素。

import seaborn as sns
import matplotlib.pyplot as pltQ1 = data['Score'].quantile(0.25)
Q3 = data['Score'].quantile(0.75)
IQR = Q3 - Q1lower_bound = Q1 - 1.5 * IQR
upper_bound = Q3 + 1.5 * IQRoutliers = data[(data['Score'] < lower_bound) | (data['Score'] > upper_bound)]print("Outliers:")
print(outliers)plt.figure(figsize=(8, 6))
sns.boxplot(x='Teaching_Method', y='Score', data=data)
plt.title('Boxplot of Scores by Teaching Method')
plt.show()# Outliers:
# Empty DataFrame
# Columns: [Participant, Teaching_Method, Time, Score]
# Index: []

在这里插入图片描述
3/ 让我们运行测试: 现在我们已经确认满足了假设,我们可以继续进行测试。

anova = mixed_anova(dv='Score', within='Time', between='Teaching_Method', subject='Participant', data=data)print(anova)

在这里插入图片描述
让我们分析每个假设:

1/ 时间的主要影响:由于 p 值 (0.432535) 大于 0.05,我们无法否定原假设。这意味着没有重要证据表明时间对分数有重大影响。

2/ 教学方法的主要效果:同样,由于 p 值 (0.842359) 大于 0.05,我们无法否定原假设。没有重要证据表明教学方法对分数有显着影响。

3/ 交互效果:同样,由于 p 值 (0.778303) 大于 0.05,我们无法否定原假设。没有显著的证据表明教学方法和时间对分数之间存在交互作用。

注意:

效应大小 (ηp²) 和 Epsilon (ε) :

效应大小(ηp²)值较小,表明自变量解释的方差比例相对较低。
Epsilon (ε) 提供有关可能违反球形的信息。然而,由于我们已经用 Mauchly 检验证实了球形度,因此 epsilon 值在这里是补充的。
如果您希望我们涵盖特定主题,请随时告诉我!您的意见将有助于塑造我的内容的方向,并确保它保持相关性和吸引力

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/20596.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VB.net进行CAD二次开发(四)

netload不能弹出对话框&#xff0c;参考文献2 参考文献1说明了自定义菜单的问题&#xff0c;用的是cad的系统命令 只要加载了dll&#xff0c;自定义的命令与cad的命令同等地位。 这时&#xff0c;可以将自定义菜单的系统命令替换为自定义命令。 <CommandMethod("Add…

STL-queue的使用及其模拟实现

在C标准库中&#xff0c;队列(queue)是一种容器适配器&#xff0c;它以先进先出的方式组织数据&#xff0c;其中从容器一端插入元素&#xff0c;另一端取出元素。 queue的使用 queue的构造函数 queue的成员函数 empty&#xff1a;检测队列是否为空size&#xff1a;返回队列中有…

代码随想录算法训练营 day23| ● 669. 修剪二叉搜索树 ● 108.将有序数组转换为二叉搜索树 ● 538.把二叉搜索树转换为累加树

文章目录 前言669. 修剪二叉搜索树思路方法一 递归法方法二 迭代法 108.将有序数组转换为二叉搜索树思路方法一 递归法方法二 迭代法 538.把二叉搜索树转换为累加树思路方法一方法二 总结 前言 迭代法都没看主要是669和538【538很简单】 669. 修剪二叉搜索树 思路 不用看教程…

【基本数据结构】平衡二叉树

文章目录 前言平衡二叉树1 简介2 旋转2.1 左旋2.2 右旋2.3 何时旋转 3 插入节点4 删除节点5 代码 参考资料写在最后 前言 本系列专注更新基本数据结构&#xff0c;现有以下文章&#xff1a; 【算法与数据结构】数组. 【算法与数据结构】链表. 【算法与数据结构】哈希表. 【…

【斯坦福因果推断课程全集】1_随机对照试验1

目录 The average treatment effect Difference-in-means estimation IID Sampling and Population Asymptotics Example: The linear model Regression adjustments with a linear model 随机对照试验&#xff08;RCT&#xff09;是统计因果推论的基础。如果有的话&#…

关于FPGA 使用SPI FLASH固化时如何配置固化参数

关于FPGA 使用SPI FLASH固化时如何配置固化参数 EDA工具&#xff1a;Vivado 关于FPGA 使用SPI FLASH固化时如何配置固化参数一、引言二、如何设置固化参数&#xff1a;使用50M的速度 &#xff0c;SPI为X4 &#xff0c;以及bit压缩第一&#xff1a;点open implenment design第二…

安装软件缺少dll文件怎么办,分享多种解决dll问题的方法

在计算机使用过程中&#xff0c;我们经常会遇到安装软件时提示缺少dll文件的问题。这种情况通常会导致软件无法正常运行或启动。为了解决这个问题&#xff0c;我总结了以下五种方法&#xff0c;希望对大家有所帮助。 一&#xff0c;了解DLL文件是什么 动态链接库&#xff08;D…

简单说说我对集成学习算法的一点理解

概要 集成学习&#xff08;Ensemble Learning&#xff09;是一种机器学习技术框架&#xff0c;它通过构建并结合多个学习器&#xff08;也称为个体学习器或基学习器&#xff09;来完成学习任务。 集成学习旨在通过组合多个基学习器的预测结果来提高整体模型的性能。每个基学习…

常见仪表盘指示灯的含义,这次够全了!

汽车是当前主要的交通工具之一&#xff0c;给人们的工作、生活提供了便利。大家在学会开车的同时&#xff0c;也得了解一些基本的汽车常识&#xff0c;可以及时的发现车辆的问题&#xff0c;并作出正确的判断&#xff0c;以此降低车辆的损耗和维修成本。其中最基本的&#xff0…

房产证上加名?手把手教你操作,省钱又省心!

随着《民法典》的实施&#xff0c;房产的权属问题愈发受到重视。夫妻双方及其亲属常希望能在房产证上增添自己的名字&#xff0c;以保障各自的权益。那么&#xff0c;房产证上到底能写几个名字呢&#xff1f;以下是对这一问题的详细解答。 一、房产证命名无固定限制 在购房时&…

民国漫画杂志《时代漫画》第39期.PDF

时代漫画39.PDF: https://url03.ctfile.com/f/1779803-1248636473-6bd732?p9586 (访问密码: 9586) 《时代漫画》的杂志在1934年诞生了&#xff0c;截止1937年6月战争来临被迫停刊共发行了39期。 ps: 资源来源网络!

SpringBoot注解--10--@Bean,对象注入的三种方法

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 Bean一、如何使用方法注解注意Bean 的命名规则&#xff0c;当没有设置 name 属性时&#xff0c;那么 bean 默认的名称就是方法名&#xff0c;当设置了 name 属性之后…

33【Aseprite 作图】树——拆解

1 树叶 画树叶真累啊&#xff0c;可以先画一个轮廓&#xff0c;细节一点点修 2 1 2 &#xff1b;2 2 2 &#xff08;横着横&#xff09;&#xff0c;这样一点点画树叶 填充颜色&#xff0c;用了喷雾工具 2 树干部分 轮廓部分&#xff0c;左边的是3 3 3 &#xff1b;上下都是…

网页音频提取在线工具有哪些 网页音频提取在线工具下载

别再到处去借会员账号啦。教你一招&#xff0c;无视版权和地区限制&#xff0c;直接下载网页中的音频文件。没有复杂的操作步骤&#xff0c;也不用学习任何代码。只要是网页中播放的音频文件&#xff0c;都可以把它下载到本地保存。 一、网页音频提取在线工具有哪些 市面上的…

【数据结构】二叉树:简约和复杂的交织之美

专栏引入&#xff1a; 哈喽大家好&#xff0c;我是野生的编程萌新&#xff0c;首先感谢大家的观看。数据结构的学习者大多有这样的想法&#xff1a;数据结构很重要&#xff0c;一定要学好&#xff0c;但数据结构比较抽象&#xff0c;有些算法理解起来很困难&#xff0c;学的很累…

Transformer中的位置编码PE(position encoding)

Transformer中的位置编码PE(position encoding) 1.提出背景 transformer模型的attention机制并没有包含位置信息&#xff0c;即一句话中词语在不同的位置时在transformer中是没有区别的 2.解决背景 给encoder层和decoder层的输入添加了一个额外的向量Positional Encoding&a…

【专利 超音速】一种光伏检测系统

申请号CN202410053901.0公开号&#xff08;公开&#xff09;CN118032774A申请日2024.01.12申请人&#xff08;公开&#xff09;超音速人工智能科技股份有限公司发明人&#xff08;公开&#xff09;张俊峰(总); 叶长春(总); 许春夏 摘要 本发明公开一种光伏检测系统&#xff0…

iotdb时序库在火电设备锅炉场景下的实践【原创文字,IoTDB社区可进行使用与传播】

一.概述 1.1 说明 本文章主要介绍iotdb数据库在电站锅炉工业场景下&#xff0c;对辅助智能分析与预警的使用介绍。 【原创文字&#xff0c;IoTDB社区可进行使用与传播】 1.2 项目背景 随着人工智能算法在电力领域的发展&#xff0c;以及燃煤锅炉设备精细化调整需求的增加&…

数据结构——经典链表OJ(二)

乐观学习&#xff0c;乐观生活&#xff0c;才能不断前进啊&#xff01;&#xff01;&#xff01; 我的主页&#xff1a;optimistic_chen 我的专栏&#xff1a;c语言 点击主页&#xff1a;optimistic_chen和专栏&#xff1a;c语言&#xff0c; 创作不易&#xff0c;大佬们点赞鼓…

chatgpt之api的调用问题

1.调用api过程中&#xff0c;出现如下报错内容 先写一个测试样例 import openaiopenai.api_key "OPEN_AI_KEY" openai.api_base"OPEN_AI_BASE_URL" # 是否需要base根据自己所在地区和key情况进行completion openai.ChatCompletion.create(model"g…