目录
~
回顾:
提取特征( 数据分析 )的过程可能比后面的过程还重要
难点: 1. 特征的维度 2. 标准( 适用的算法 )
回归(连续)与分类( 离散 )没有特别明确的界限, 很多算法通用
没有免费午餐定理: 不对特征空间先验假设, 所有算法平均表现相同
function set=learn model参数还没确定
数学期望=均值=mean( 属于概率论
平均值=average( 属于数理统计
2.1 经验误差与过拟合
错误率(error rate)E: 当m个样本, a个样本分类错误
$$ E=\frac a m $$
精度(accuracy):精度=1-错误率
$$ 1-\frac a m $$
误差(error):学习器的实际预测输出与样本的真实输出之间的差异
训练误差(training error)=经验误差(empirical error):学习器在训练集上的误差
泛化误差(generalization):学习器在新样本上的误差
误差是差异的平均值,在数据集层面考虑“误差”的概念时,误差与错误率相同。
( 错误率和精度针对分类问题; 误差的概念更适用于回归问题
在分类问题中也会使用误差的概念,此时的“差异”指的是学习器的实际预测输出的类别与样本真实的类别是否一致,若一致则“差异”为 0,若不一致则“差异”为 1 )
过拟合(overfitting)是由于模型的学习能力相对于数据来说过于强大;欠拟合(underfitting)学习能力过于低下
模型选择问题: 判定该适用哪个学习算法, 参数配置
2.2评估方法
留出法、交叉验证法、自助法( bootstrap )
留出法, 交叉验证法: 为避免划分时数据分布不同, 常用分层抽样. 对比不同算法的性能常用.
自助法( 有放回的抽样 )当样本过少的时候适用, 集成学习产生基分类器常用
(将集成学习8.3.1用到的这里详细补充一下)
采样流程:
原数据集D含样本m个, 采样得数据集D':
每次随机从D挑一个样本, 将其拷贝放入D', 再放回初始数据集D,下次采样仍可能被采到;
这个过程重复执行m次, 得含m个样本的数据集D',即自助采样结果.
未出现样本比例:
可通过样本未出现概率取极限得到
$$ \lim_{m\rightarrow \infty}(1-\frac{1}{m})^m\rightarrow \frac{1}{e}\approx 0.368 $$
包外估计:
out-of-bag estimate, 利用自助采样未出现的样本测试.
优点:
1. 数据集较小时, 有助于有效划分训练/测试集;
2. 自助法能从初始数据集中产生多个不同的训练集,可用于集成学习.
缺点:
产生的数据集改变了初始数据集的分布,会引入估计偏差.
调参: 算法参数=超参数≠模型参数
2.3 性能度量
衡量模型泛化能力的评价标准
给定样例集
$$ D=\{ (x_1,y_1),...,(x_m,y_m) \} $$
评估学习器f的性能, 把预测结果f(x)与真实y比较
均方误差MSE(mean squared error)回归常用
$$ E(f;D)=\frac 1 m \sum_{i=1}^m(f(x_i)-y_i)^2 $$
错误率与精度
分类常用
错误率
$$ E(f;D)=\frac 1 m \sum _{i=1}^mⅡ( f(x_i)\neq y_i) $$
精度
$$ acc(f;D)=\frac 1 m \sum _{i=1}^mⅡ( f(x_i)=y_i)=1-E(f;D) $$
查准率 查全(召回)率 F1
根据分类结果, 可分为真阳TP, 假阳FP, 真阴TN, 假阴FN, 4种情况.
混淆矩阵confusion matrix如下表
真实情况 | 预测结果 | |
正例 | 反例 | |
正例 | TP | FN |
反例 | FP | TN |
查准率P 挑出的真实正例占预测正例(查准率Precision也常翻译成精度, 与准确率Accuracy有翻译重合, 但不是同一个东西)
$$ P=\frac {TP}{TP+FP} $$
查全率R 挑出的真实正例占所有真实正例
$$ R=\frac {TP}{TP+FN} $$
P-R图
下图有一点毛病, 最右侧查全率=1时, 查准率=0. 实际上这种情况只有正例样本接近0时才会发生.
综合考虑查准率, 查全率:
平衡点BEP(Break-Event Point)查准=查全时的值
F1 P与R的调和平均( 更重视较小值 )
$$ \frac 1{F1}=\frac 12(\frac 1P+\frac 1R) $$
代入P, R的公式得
$$ F1=\frac{2TP}{2TP+FN+FP}=\frac{2TP}{样例总数+TP-TN} $$
Fβ加权调和平均
$$ \frac 1{F_\beta}=\frac 1{1+\beta ^2}(\frac 1P+\frac {\beta ^2}R) $$
若有n个二分类混淆矩阵, 综合考察P, R:
1.宏F1 macro-F1: 各矩阵计算P R, 再计算平均值macro-P, macro-R. 利用macro-P, macro-R计算macro-F1
2.微F1 micro-F1: 先将各混淆矩阵元素TP, FP, TN, FN平均, 基于平均值算micro-P, micro-R, micro-F1
ROC与AUC
P-R曲线以P, R为纵横轴. ROC曲线纵轴TPR, 横轴FPR
TPR真正例率=查全率R(好瓜中有多少被挑出来)
FPR假正例率(坏瓜中有多少被挑出来)
$$ TPR=\frac {TP}{TP+FN}\\ FPR=\frac {FP}{TN+FP} $$
绘制ROC:“给定m+个正例和m-个反例,根据预测结果对样例排序,分类阈值设为最大,即所有均预测为反例,此时TPR=FPR=0, 在坐标(0, 0)处记一个点;
然后,将分类阈值依次设为每个样例的预测值,即依次将每个样例划分为正例
参考: https://datawhalechina.github.io/pumpkin-book/#/chapter2/chapter2
(s1,0.77,+),(s2,0.62,−),(s3,0.58,+),(s4,0.47,+),(s5,0.47,−),(s6,0.33,−),(s7,0.23,+),(s8,0.15,−)
出一个正例往上走一步, 一个反例往右走一步, 同预测值既有正例又有反例, 斜走
AUC值( ROC曲线下的面积 )其实就是所有红色线段和蓝色线段与x轴围成的面积之和。
根据梯形公式1/2*(a+b)*h, 可得AUC考虑样本排序质量:
$$ AUC=\frac 12\sum _{i=1}^{m-1}(x_{i+1}-x_i)(y_i+y_{i+1}) $$
AUC 是 ROC 曲线之下的面积,lrank是 ROC 曲线之上的面积,曲线之上和曲线之下的面积之和等于 1
$$ AUC=1-l_{rank} $$
lrank可以看作是所有绿色线段和蓝色线段与y轴围成的面积之和. 其中x轴y轴一格的步长分别为1/m-, 1/m+
变动分类阈值的过程当中,如果有新增真正例,那么相应地就会增加一条绿色线段或蓝色线段, 遍历所有绿色和蓝色线段:
$$ \sum_{x^+\in D^+} $$
求绿色线段或者蓝色线段与y轴围成的面积( 梯形 ), 梯形的“高”:
$$ h=\frac 1{m^+} $$
上底(短)=绿或蓝色线段的下端点到y轴的距离=步长1/m-乘以预测值大于x+的假正例的个数( 此处的f(x+)代表该真正例点的预测值, x-可从所有假正例中取, 各f(x-)值逐一与该f(x+)比较 ):
$$ a=\frac 1{m^-}\sum_{x^-\in D^-}\mathbb{I}(f(x^+)<f(x^-)) $$
下底=步长1/m-乘以预测值大于等于x+的假正例的个数:
$$ \frac{1}{m^-}(\sum_{x^- \in D^-}\mathbb{I}(f(x^+)<f(x^-))+\sum_{x^- \in D^-}\mathbb{I}(f(x^+)=f(x^-))) $$
lrank为所有梯形面积求和:
形
$$ \ell_{rank}=\sum_{\boldsymbol{x}^+ \in D^+}\frac{1}{2}\cdot\frac{1}{m^+}\cdot\left[\frac{2}{m^-}\sum_{\boldsymbol{x}^- \in D^-}\mathbb{I}\left(f(\boldsymbol{x}^+)<f(\boldsymbol{x}^-)\right)+\frac{1}{m^-}\sum_{\boldsymbol{x}^- \in D^-}\mathbb{I}\left(f(\boldsymbol{x}^+)=f(\boldsymbol{x}^-)\right)\right] $$
(PS: 原来指示函数是空心I, 之前一直以为是罗马Ⅱ)
lrank表示任取一对正例和反例,正例预测值小于反例预测值的概率
AUC 表示任取一对正例和反例,正例预测值大于反例预测值的概率
代价敏感错误率与代价曲线
挑出了坏瓜和漏挑了好瓜有非均等代价unequal cost
代价矩阵:
真实类别 | 预测类别 | |
第0类 | 第1类 | |
第0类 | 0 | cost01 |
第1类 | cost10 | 0 |
代价敏感错误率:
$$ E(f;D;cost)=\frac 1 m\left(\sum_{\boldsymbol{x}_i \in D^+}\mathbb{I}\left(f(\boldsymbol{x}_i)\neq y_i\right)\times cost_{01}+ \sum_{\boldsymbol{x}_i \in D^-}\mathbb{I}\left(f(\boldsymbol{x}_i)\neq y_i\right)\times cost_{10}\right) $$
基于分布定义的代价敏感错误率,样例为正例的概率p,样例为反例的概率为1-p:
$$ E(f;D;cost)=p\times FNR\times cost_{01}+(1-p)\times FPR\times cost_{10} $$
(所有含p的地方再乘cost01, 所有含1-p的地方再乘cost10, 已下式子同理)
代价曲线
参考https://www.zhihu.com/question/63492375
用代价曲线cost curve代替ROC曲线, 可以在非均等代价下反映期望总体代价
(横轴)正例概率代价P(+)cost:
$$ P(+)cost=\frac{p\times cost_{01}}{p\times cost_{01}+(1-p)\times cost_{10}} $$
代价不敏时P(+)cost就是样例为正例的概率;当代价敏感时可称P(+)cost为正例所占的加权比例。
(纵轴) 归一化期望代价:
$$ cost_{norm}=\frac{\mathbb E[cost_{sensitive}]}{max(\mathbb E[cost_{sensitive}])}\\=\frac{p\times FNR\times cost_{01}+(1-p)\times FPR\times cost_{10}}{p\times cost_{01}+(1-p)\times cost_{10}} $$
代入正概率代价P(+)cost, 负概率代价P(-)cost =1-P(+)cost也可理解为:
$$ cost_{norm}=FNR\times P(+)cost+FPR\times (1-P(+)cost) $$
这是一个线性的参数方程, 所以ROC曲线每一点对应代价平面一条线段(0,FPR)到(1,FNR), 而非曲线.
其中期望代价最大值maxE在FNR=FPR=1时取得;总的代价为FNR, FPR代价之和
代价曲线:
“期望”和“代价”是针对纵轴而言,毕竟纵轴表示归一化后的代价期望。
“总体”是针对横轴,横轴是一个关于正例概率p的函数,故“总体”指的是所有p属于[0, 1]
取所有线段的下界,围成的面积即为在所有条件下学习器的期望总体代价.
代价曲线对横轴的正例概率代价积分,则可得所有可能正例概率代价时归一化代价的和,即期望总体代价(阴影部分面积).
(无/等代价的退化版 CC 空间。纵轴为模型错误率,横轴为正例概率, 围成面积也可看作“总体错误率”,模型对于某一阈值的期望总体错误率)
代价曲线意义: 对每一个正例概率P(+),模型都能够选择很多阈值对其进行分类,这些分类结果在代价曲线中表现出来的就是不同(FPR、FNR)组合的线段与正例概率的交点. 在所有阈值中,至少会有一个阈值(对应唯一的FPR、FNR组合)使得模型能够把样本分类错误率降到最低。
(面积即为在所有条件下学习器的期望总体代价: 主要是要知道这个条件是啥,给定条件的直接影响就是FPR,FNR不变而p(P)在变动,所有条件就是FPR,FNR,p都会变,然而分类器f和样本空间(决定了cost系数)都不会变。又来个给定条件解释更头大了…)
CC与ROC比较:
在非均等代价下,ROC 曲线不能直接反映出学习器的期望总体代价,而‘代价曲线’则可达此目的.
代价曲线可以直观的看出,在 deployed set 取某个正例概率代价(横坐标)的条件下,
哪个分类器(TPR, FPR)的期望代价比较小;针对横坐标的每个值,找出所有分类器(TPR, FPR)
中最小的期望代价,所有这些最小期望代价构成的曲线就是代价曲线。
ROC 曲线也可以通过观察得出两个点对应的分类器的性能(期望代价), 但比较烦琐不能目测.
2.4 比较检验
比较检验目的:通过 2.2 节的评估方法,得到每个算法/模型在 2.3 节各个性能度量上的表现,但这些值实际上是一个随机变量,因此不能简单用比较大小得算法的优劣, 需要利用统计假设检验。
本节有关检测变量的公式,例如式(2.30)、式(2.32)~式(2.36),不需要清楚怎么来,只需知道如何由测试结果计算出这些检测变量,并根据检测变量服从的分布类型得到临界值,然后将检测变量与临界值对比即可。
默认错误率epsilon为性能度量
假设检验
用测试错误率估计泛化错误率
测试错误率=泛化错误率的概率(概率P括号内等号左侧表示变量, 右侧表示变量值):
$$ P(\hat\varepsilon=\hat\epsilon;\varepsilon=\epsilon)=\tbinom{m}{\hat\epsilon\times m}\epsilon^{\hat\epsilon\times m}(1-\epsilon)^{m-\hat\epsilon\times m} $$
其中使用了组合数的另一种表示方式:
$$ \tbinom{m}{\hat\epsilon\times m}=C_{m}^{\hat\epsilon\times m} $$
有放回抽样, 注意到该式中, 凡抽的动作, 都用测试错误率, 但抽的是好是坏用泛化错误率.
若知因(泛化)则P(果|因) 为后验概率, 若知果(测试)P(果|因)为似然估计
给定测试错误率(果), 可求最大似然估计, 令:
$$ \frac{\partial P(\hat\varepsilon=\hat\epsilon|\varepsilon)}{\partial\varepsilon}=0 $$
代入原式解得P最大时:
$$ \varepsilon=\hat\epsilon $$
这符合二项分布的特性.
可以使用二项检验对假设"泛化错误率≤0.3"进行检验, 计算在置信度1-α的概率内能观察到的最大错误率
置信度1-α为图2.6中非阴影部分.
参考https://www.zhihu.com/question/287895170
对泛化错误率epsilon≤epsilon_0进行假设检验:
$$ \overline{\epsilon}=\min \epsilon\quad\text { subject to } \sum_{i=\epsilon\times m+1}^{m}\left(\begin{array}{c}{m} \\ {i}\end{array}\right) \epsilon_0^{i}(1-\epsilon_0)^{m-i}<\alpha $$
该式含义为, 当泛化错误率为epsilon_0时,测得的测试错误率>临界值overline_epsilon的概率需要小于α( 为小概率事件 )
t检验
多次训练测试得到k个测试错误率,
平均测试错误率μ:
$$ \mu=\frac 1k\sum_{i=1}^k\hat\epsilon_i $$
错误率方差σ^2:
$$ \sigma^2=\frac 1{k-1}\sum_{i=1}^k(\hat\epsilon_i-\mu)^2 $$
(根据总体样本集求方差时就除以总体样本数量,一般总体样本集不可得.
根据抽样样本集求样本方差应该除以 k-1才会得到总体样本的无偏估计,若除以 k则得到的是有偏估计。)
将k个测试错误率看作泛化错误率epsilon_0的独立采样, 其变量τ_t服从t(k-1)分布公式为:
$$ \tau_t=\frac {\sqrt k(\mu-\sigma_0)}{\sigma} $$
相关知识点: 正态总体的抽样分布, 参考
公式https://blog.csdn.net/baishuiniyaonulia/article/details/84330905
为什么该式子服从t(k-1)https://www.bilibili.com/video/BV1QC4y1a7tb
t(k-1)分布如图2.7:
若τ_t位于临界值范围[t_-α/2, t_α/2], 则不能拒绝假设μ=epsilon_0
交叉验证t检验
成对t检验基本思想: 若两学习器性能相同, 训练集测试集相同, 则测试错误率相同
对每对结果求差Δ_i=ε_i^A-ε_i^B, 若性能同, 差值均值应为0, 根据差值对假设"性能相同"做t检验:
$$ \tau_t=\left|\frac{\sqrt k\mu}{\sigma}\right| $$
小于临界值则性能无显著差别
McNemar检验
两学习器分类结果差别: 两种处理结果分别正确与错误样本数. 联列表如下
算法B | 算法B | |
正确 | 错误 | |
正确 | e00 | e01 |
错误 | e10 | e11 |
假设两学习器性能相同, 应有e_01-e_10=0, 考虑检验变量:
$$ \tau_{\chi^2}=\frac{(|e_{01}-e_{10}|-1)^2}{e_{01}+e_{10}} $$
参考: https://www.zhihu.com/question/47835037
为什么统计量公式中要减1呢?这是因为当e01+e10<40时,计算出的卡方值就显得偏大,-1的目的是做校正,以减少假阳性(正确的原假设被拒绝)的概率。另一种说法是当样本量较小时,卡方值的连续性较差,而卡方分布是连续的,因此需要-1来做连续性校正。
Friedman 检验与 Nemenyi 后续检验
交叉验证 t 检验,在每个数据集上依次比较两算法; Friedman 检验基于算法排序比较各算法的性能.
流程: Friedman 检验的假设是在所有数据集上“所有算法性能相同”,若假设被拒绝则说明算法的性能显著不同,此时就需要使用 Nemenyi 后续检验进一步比较哪些算法之间性能有显著不同。
Friedman根据测试性能好坏排序赋予序值1, 2…. 若性能相同则平分序值(两个算法同则一人多分0.5). 算法比较序值表:
数据集 | 算法A | 算法B | 算法C |
D1 | 1 | 2 | 3 |
D2 | 1 | 2.5 | 2.5 |
D3 | 1 | 2 | 3 |
D4 | 1 | 2 | 3 |
平均序值 | 1 | 2.125 | 2.875 |
若性能相同, 则N个数据集上, k个算法的平均序值r_i应该相同.
r_i~N((k+1)/2, (k^2-1)/12)
单个数据集可看作从1到k的离散的均匀分布, 均值μ方差σ^2可代入均匀分布的公式计算.
不同数据集的序值独立同分布, 实验次数足够多, 分布接近正态.
相关知识点( 抱紧概率论粗大腿 ):
1. 均匀分布https://www.bilibili.com/video/BV1ft4y1z7X8
2. 林德贝格中心极限定理
原始Friedman检验变量~χ^2(k-1):
$$ \tau_{\chi^2}=\frac{(k-1)N}{k\sigma^2}\sum_{i=1}^k(r_i-\mu)^2 $$
其中μ与σ^2同r_i
常用检验变量~F(k-1, (k-1)( N-1))
$$ \tau_F=\frac{(N-1)\tau_{\chi^2}}{N(k-1)-\tau_{\chi^2}} $$
性能显著不同,使用 Nemenyi 后续检验, 平均序值之差超过临界值域则拒绝假设.
临界值域CD:
$$ CD=q_\alpha\sqrt\frac{k(k+1)}{6N} $$
其中q_α为Tukey分布的临界值, 根据算法个数与α选取
2.5 偏差与方差
模型越复杂, 拟合能力越强, 偏差更小, 容易过拟合
模型越复杂, 可能性越多, 方差越大
回归为例, 对样本x,令y_D为x在数据集中的标记,y为x的真实标记,f(x; D)为训练集D上学得模型f在x上的预测输出。
算法的期望:
$$ \bar f(x)=\mathbb E_D[f(x;D)] $$
不同训练集产生方差:
$$ var(x)=\mathbb E_D[(f(x;D)-\bar f(x))^2] $$
噪声:
$$ \varepsilon^2=\mathbb E[(y_D-y)^2] $$
期望输出与真实差别, 偏差:
$$ bias^2(x)=(\bar f(x)-y)^2 $$
设噪声期望E_D[y_D-y]=0, 对算法期望泛化误差分解, 得偏差, 方差, 噪声之和:
$$ E(f;D)=(\bar f(x)-y)^2+\mathbb E_D[(f(x;D)-\bar f(x))^2]+\mathbb E[(y_D-y)^2]\\=bias^2(x)+var(x)+\varepsilon^2 $$
分解可参考:
https://datawhalechina.github.io/pumpkin-book/#/chapter2/chapter2?id=_241
即泛化性能由算法学习能力, 数据充分性, 学习任务难度共同决定
习题
参考: https://wenku.baidu.com/view/31ad796c31687e21af45b307e87101f69f31fb5f.html
https://www.jianshu.com/p/9d70c26b73a2
2.1
数据集包含1000个样本,其中500个正例、500个反例,将其划分为包含70%样本的训练集和30%样本的测试集用于留出法评估,试估算共有多少种划分方式。
若用分层抽样方法, 划分出350个正例和350反例作为训练集,150个正例和150反例作为测试集,排列组合:
$$ (C_{500}^{150})^2 $$
2.2
数据集包含100个样本,其中正、反例各一半,假定学习算法所产生的模型是将新样本预测为训练样本数较多的类别(训练样本数相同时进行随机猜测),试给出用10折交叉验证法和留一法分别对错误率进行评估所得的结果。
十折交叉验证: 将数据集分成十份,轮流将其中9份作为训练数据,1份作为测试数据。
训练集45正例、45反例,验证集5正例、5反例,正例、反例比例为1:1,随机预测, 错误率的期望为50%
留一法: 交叉验证法的特例,假定数据集D中包含m个样本,令k=m. 训练集与初始数据集相比只少了一个样本.
留下来做验证集的样本有两种情况:正例、反例。留正例,训练集中反例比正例多一个,将验证集预测为反例,预测错误;留反例,验证集预测为正例。错误率的期望100%
2.3
若学习器A的F_1值比学习器B高,试分析A的BEP值是否也比B高。
BEP=P=R
$$ \frac 1{F1}=\frac 12(\frac 1P+\frac 1R) $$
此题常见错误即认为F1与BEP相等,虽然BEP是F1的特殊情况。由于是两个不同分类器,不能推算出P_A和P_B之间的大小关系。
BEP只取P=R处, 但F1可能在其他地方截断(按正例可能性排序, 前面正, 后面负).
若P != R,在PR曲线上,每个(P,R)点都对应一个F1值,这时可以看出F1和BEP并没有相关的关系,可以说BEP是F1的特殊情况,并不能代表全局情况。
2.4
试述真正例率(TPR)、假正利率(FPR)与查准率(P)、查全率(R)之间的联系。
$$ P=\frac {TP}{TP+FP} $$
$$ R=\frac {TP}{TP+FN} $$
$$ TPR=\frac {TP}{TP+FN}\\ FPR=\frac {FP}{TN+FP} $$
真正例率TPR=查全R, 查准率P与假正例率FPR没有数值上的关系
2.5
证明式( 2.22 )
根据定义知AUC可以通过ROC曲线下各部分面积求和而得,此题即证明为何lrank 表示的是ROC曲线之上的面积,即证明lrank求得公式。
这个笔记中已经证过了, 参照该篇2.3- ROC与AUC部分
2.6
试述错误率与ROC曲线的联系
ROC的每一个点对应一个TPR与FPR, 对应一个错误率. 学习器会选择错误率最小的位置作为截断点.
2.7
试证明任意一条ROC曲线都有一条代价曲线与之对应,反之亦然。
ROC曲线上点的坐标为(TPR,FPR),而代价曲线则是一条从(0,FPR)到(1,FNR)的线段。其中FNR为假反例率,FNR=1-TPR。
ROC->代价曲线: TPR,FPR值已知,从而FNR和FPR的值也已知,能够做出代价曲线。
代价曲线->ROC: 代价线段的公共区域( 期望总体代价 )边界是代价曲线, 每个点的切线可求出TPR,FPR值, 得到唯一ROC曲线.
2.8
Min-max规范化和z-score规范化是两种常用的规范化方法。令x和x'分别表示变量在规范化前后的取值,相应的,令x_min和x_max表示规范化前的最小值和最大值,x'_min和x'_max表示规范化后的最小值和最大值,\bar x和σ_x分别表示规范化前的均值和标准差,则min-max规范化、z-score规范化分别如下公式。试分析二者的优缺点。
$$ x'=x'_{min}+\frac{x-x_{min}}{x_{max}-x_{min}}\times (x'_{max}-x'_{min})\\x'=\frac{x-\overline{x}}{\sigma_x} $$
min−max规范化方法简单,保证规范化后所有元素都是正的且在(0,1)之间,每当有新的元素进来,只有在该元素大于最大值或者小于最小值时才要重新计算全部元素。但是若存在一个极大(小)的元素,会导致其他元素变的非常小(大)。
z−score标准化对个别极端元素不敏感,保证规范化后所有元素都是正的且在(0,1)之间,且把所有元素分布在0的周围,一般情况下元素越多,0周围区间会分布大部分的元素,每当有新的元素进来,都要重新计算方差与均值。
Max-min | z-score |
方法简单 | 计算量相对更大 |
容易受到高杠杆点和离群点影响 | 对离群点敏感度相对低一些 |
当加入新值超出当前最大最小范围( max, min )时重新计算所有之前的结果 | 没加入新值都要重新计算所有之前结果 |
2.9
试述χ^2检验过程
看的一份答案直接用的百度, 一份参考白话讲解, 两个前半部分都不太一样, 希望日后实际应用中能形成自己的见解叭.
可参考:https://blog.csdn.net/qq_39303465/article/details/79223843
2.10
试述在Friedman检验中使用(2.34) (2.35)两式的区别
两式分别为:
$$ \tau_{\chi^2}=\frac{k-1}{k}\cdot \frac{12N}{k^2-1} \sum^k_{i=1}(r_i-\frac{k+1}{2})^2 \\=\frac{12N}{k(k+1)}(\sum^k_{i=1}r^2_i-\frac{k(k+2)^2}{4}) \\ \tau_F=\frac{(N-1)\tau_{\chi^2}}{N(k-1)-\tau_{\chi^2}} $$
(2.34)是标准的弗里德曼检验计算公式,但是在样本量较小的情况下,(2.34)计算结果明显偏离卡方分布。
此时需利用(2.35)计算,然后通过专门弗里德曼检验临界值表进行检验。
对于涉及6个以上总体的小样本量Friedman检验,如果不能从有关书籍中查到临界值,便只能采用卡方检验了
Friedman检验, 在N_k较大时, 平均序值r_i接近正态分布, 检验变量接近卡方( 该节提到了此性质 ).
Friedman统计量只考虑不同算法间的影响, 没考虑不同数据集影响->保守.
而(2.35)是考虑序值表的方差, 设总方差SST, 算法间方差SSA, 其他方差SSE=SST-SSA
$$ SST=N\left(E(X^2)-(EX)^2\right)=Nk(k^2-1)/12\\ SSA=N\sum_k(r_i-\frac{k+1}{2})^2 $$
其中SST自由度N(k-1), SSA自由度k-1, SSE自由度(N-1) (k-1)
所以(2.35)的来源:
$$ f=\frac{SSA/(k-1)}{SSE/(N-1)*(k-1)}=\frac{(N-1)fri}{(N-1)*(k-1)-fri} $$