卡方检验就是统计样本的实际观测值与理论推断值之间的偏离程度,实际观测值与理论推断值之间的偏离程度就决定卡方值的大小,卡方值越大,越不符合;卡方值越小,偏差越小,越趋于符合,若两个值完全相等时,卡方值就为0,表明理论值完全符合。 假设有两个分类变量X
X
和Y,其值域都是{x1,x2}
{
x
1
,
x
2
}
,计算X
X
和Y之间的相关性需要先建立一个零假说。即两个变量之间不存在关系,理论频数和实际频数之间存在的差异是因为随机误差。然后根据实际频数来计算他们的卡方值。卡方值越大说明造成他们的原因不是因为随机误差,而是X
X
和Y之间存在一定的相关性,卡方值越大说明相关性越强。
四格表
对于某一个特征x
x
,
类别1
1
类别2 总计 包含 a
a
b
b
a+b 不包含 c
c
dc+d
c
+
d
总计 a+c
a
+
c
b+d
b
+
d
a+b+c+d
a
+
b
+
c
+
d
四格表的卡方校验公式:
X2=(a+b+c+d)(ad−bc)2(a+b)(c+d)(a+c)(b+d)
X
2
=
(
a
+
b
+
c
+
d
)
(
a
d
−
b
c
)
2
(
a
+
b
)
(
c
+
d
)
(
a
+
c
)
(
b
+
d
)
假设一个包含n
n
个样本的样本集合T={xi}ni=1,并且每一个样本都包含m
m
个特征,xi={xi1,xi2,…,xim},i∈(1,2,…,n) 首先Relief算法会从样本集中随机选择一个样本xi
x
i
,然后再在相同类别的样本中选择一个与样本xi
x
i
距离最近的样本xsome
x
s
o
m
e
,在不同类别的样本中选择一个与样本xi
x
i
最近的样本xdif
x
d
i
f
,计算样本之间的距离。
dist(xi,xj)=(∑k=1m(xik,xjk)p)1p
d
i
s
t
(
x
i
,
x
j
)
=
(
∑
k
=
1
m
(
x
i
k
,
x
j
k
)
p
)
1
p
然后根据样本
xi
x
i
与样本
xsame
x
s
a
m
e
和样本
xdif
x
d
i
f
在特征
t
t
的差异来更新特征t的权重。
wt=wt−diff(t,xi,xsame)/r+diff(t,xj,xdif)/r
w
t
=
w
t
−
d
i
f
f
(
t
,
x
i
,
x
s
a
m
e
)
/
r
+
d
i
f
f
(
t
,
x
j
,
x
d
i
f
)
/
r
其中
wt
w
t
代表着特征
t
t
的权重,diff(t,xi,xsame)代表样本
xi
x
i
和样本
xsame
x
s
a
m
e
在特征
t
t
上的差异。
其中r为采样次数。
当特征为标量
diff(t,xi,xj)={01==xit=xjtxit≠xjt
d
i
f
f
(
t
,
x
i
,
x
j
)
=
{
0
=
x
i
t
=
x
j
t
1
=
x
i
t
≠
x
j
t
当特征为数量
diff(t,xi,xj)=∣∣∣xit=xjtmax(t)−min(t)∣∣∣
d
i
f
f
(
t
,
x
i
,
x
j
)
=
|
x
i
t
=
x
j
t
max
(
t
)
−
min
(
t
)
|
算法具体步骤
更新特征t
t
的权重的方法是使用t的权重减去样本xi
x
i
与同类样本的差异值diff(t,xi,xsame)/r
d
i
f
f
(
t
,
x
i
,
x
s
a
m
e
)
/
r
加上不同样本的差异值diff(t,xi,xdif)
d
i
f
f
(
t
,
x
i
,
x
d
i
f
)
其中r
r
为抽样次数,为了避免抽样的随机性,r的取值不能太小。