在证明“60% 的人从 A 组切换到 B 组”之类的声明时,使用什么正确的统计测试?

机器算法验证 假设检验 分类 统计学意义
2022-04-03 08:48:09

我的问题是这样的:

52人分为5组:A、B、C、D、E。从第1阶段到第2阶段,他们要么留在同一组,要么换组。下表显示了有多少人从他们的第 1 阶段组变为第 2 阶段组的所有配对。

Stage 1                   Stage 2
         Group A   Group B   Group C   Group D   Group E
---------------------------------------------------------
Group A    18         0        0         0         2
Group B     0         6        0         0         3
Group C     4         0        2         0         2
Group D     0         0        0         0         0
Group E     4         2        0         1         8

例如,18 个人从 A 组更改为 A 组(即他们保留自己的组);2+3+2人从A、B、C、D组换到E组。

现在,我的主张是:

  1. 65% 的人(总共 52 人中的 18 + 6 + 2 + 0 + 8 = 34,对角线)不改变组。
  2. 15% 的人(52 人中有 8 人)从其他组转到 A 组。
  3. 13% 的人(52 人中有 7 人)从其他组转到 E 组。

我想用正确的统计测试来证明这些说法。哪一个是正确的使用?我知道数字很小,所以任何测试都可能不可靠,但我很想知道它会是什么测试。

有任何想法吗?

2个回答

我认为您可能正在寻找所谓的移动模型。基本模型是允许“膨胀”对角线的对数线性模型,并且通常涉及非对角线上的某种形式的对称性。

一个好的起点是 A. Agresti,Categorical Data Analysis,第 2 版,第 423--428 页。(那是绿色的大书,而不是名称几乎相同的较小的蓝色或白色/棕色书!)

您还可以查看 JK Lindsey,应用广义线性模型,Springer,1997,第 33--35 页。


附录: mover-stayer模型的对数线性版本通常也称为准独立模型。流行两种形式。更一般的形式是

logμij=μ+αi+βj+δi1(i=j),

其中是 x \in A 的指示1(xA)xA

让我们解释一下这个模型。首先,如果我们删除最后一项,那么我们恢复模型以实现行和列的独立性。这意味着假设人们以这样一种方式改变群体,即开始群体和结束群体彼此独立,即使每个特定群体(之前和之后)可能具有不同的边际分布。

通过将放入模型中,我们改为假设总体中有两组。有些搬家者往往会从一个群体转移到另一个不同的群体,有些人倾向于对他们的第一选择感到满意。当人口分成两个这样的组时,我们预计会看到由于留者而膨胀的对角线δi

该模型也称为准独立模型,因为它是非对角线独立的模型。这意味着,在搬家者中,他们开始的群体和他们最终加入的群体之间没有互动(“流浪者”可能是一个更令人回味的术语)。

请注意,如果我们对每个,那么对角线单元格将完全适合该模型。一个常见的变体是将替换为,即每个组对“停留”与“移动”具有共同的亲和力。δiiδiδ


这是一些适合这种模型的R

# Mover-stayer model example

Y <- rbind( c(18,0,0,0,2),
            c( 0,6,0,0,3),
            c( 4,0,2,0,2),
            c( 0,0,0,0,0),
            c( 4,2,0,1,8))

grp <- c("A", "B", "C", "D", "E")
colnames(Y) <- grp
rownames(Y) <- grp

X <- expand.grid( row=grp, col=grp)
X <- cbind( X, sapply(grp, function(r) { X[,1]==r & X[,2]==r }) )

y <- as.vector(Y)

df <- data.frame(y,X)

# General model
move.stay <- glm(y~., family="poisson", data=df)
move.stay.summary <- summary(move.stay)

# Common diagonal term
move.stay.const <- glm(y~row+col+I(A+B+C+D+E), family="poisson", data=df)
move.stay.const.summary <- summary(move.stay.const)

在这一点上,你可以做很多事情。如果您需要正式的假设检验,那么偏差检验可能是合适的。

您的特定数据肯定具有一行全零的特性。有趣的是,有一个“组”选项一开始就没有人。

我将从建立总和开始:

Stage 1                   Stage 2
            A   B   C   D   E | Sum
-----------------------------------
Group A    18   0   0   0   2 |  20
Group B     0   6   0   0   3 |   9
Group C     4   0   2   0   2 |   8
Group D     0   0   0   0   0 |   0
Group E     4   2   0   1   8 |  15
-----------------------------------
Sum        26   8   2   1  15 |  52 

只要您不告诉我们,这只是来自更大人群的样本,我看不到任何统计数据,只是频率分布。

从 A 到 B 去了 0 人,这里不多计算。2 个人从 A 到 E。A 最初有 20 名成员(对吗?),2/20 是 10%。A 组的 10% 去了 E。A 组后来有多少人,或者这里总共不感兴趣的地方。如果你问'E组中有多少来自A,那么你会在第2阶段使用E的总数;有15个人,其中两个来自A:2/15。