ANOVA(Analysis of Variance)是分析方差构成的常用方法。在前两篇中,我们定义过
S S T = ∑ i = 1 N ( Y i − Y ˉ ) 2 SST = \sum_{i=1}^N (Y_i-\bar{Y})^2 SST=i=1∑N(Yi−Yˉ)2
SST表示被解释变量Y的样本总离差平方和(或称总平方和),代表样本数据整体的信息含量,其自由度为 d f T = N − 1 df_T=N-1 dfT=N−1。我们也定义过
S S E = ∑ i = 1 N e i 2 = ∑ i = 1 N ( Y i − Y ^ i ) 2 SSE = \sum_{i=1}^{N} e_i^2 = \sum_{i=1}^{N} (Y_i - \hat{Y}_i)^2 SSE=i=1∑Nei2=i=1∑N(Yi−Y^i)2
SSE是回归的残差平方和,代表无法被变量X解释的那部分信息量,自由度为 d f E = N − 2 df_E=N-2 dfE=N−2。
S S T − S S E = ∑ i = 1 N [ ( Y i − Y ˉ ) 2 − ( Y i − Y ^ i ) 2 ] = ∑ i = 1 N [ Y ˉ 2 + Y i ^ 2 − 2 Y i ( Y ^ i − Y ˉ ) ] = ∑ i = 1 N [ Y ˉ 2 + Y i ^ 2 − 2 ( Y i − Y ˉ ) ( Y ^ i − Y ˉ ) ] = ∑ i = 1 N ( Y ^ i − Y ˉ ) 2 ≜ S S R SST-SSE=\sum_{i=1}^N [(Y_i-\bar{Y})^2-(Y_i - \hat{Y}_i)^2] \\ =\sum_{i=1}^N [\bar{Y}^2+\hat{Y_i}^2-2Y_i(\hat{Y}_i-\bar{Y})] \\ = \sum_{i=1}^N [\bar{Y}^2+\hat{Y_i}^2-2(Y_i-\bar{Y})(\hat{Y}_i-\bar{Y})] \\ =\sum_{i=1}^N (\hat{Y}_i - \bar{Y})^2 \triangleq SSR SST−SSE=i=1∑N[(Yi−Yˉ)2−(Yi−Y^i)2]=i=1∑N[Yˉ2+Yi^2−2Yi(Y^i−Yˉ)]=i=1∑N[Yˉ2+Yi^2−2(Yi−Yˉ)(Y^i−Yˉ)]=i=1∑N(Y^i−Yˉ)2≜SSR
SSR是回归平方和,代表回归模型可以解释的那部分信息含量,自由度为 d f R = 1 df_R=1 dfR=1。对于回归而言,只有两个回归系数贡献两个自由度,但存在约束 ∑ i = 1 N ( Y ^ i − Y ˉ ) = 0 \sum_{i=1}^N (\hat{Y}_i - \bar{Y})=0 ∑i=1N(Y^i−Yˉ)=0,所以减去一个自由度,只剩下一个自由度。将三个平方和做自由度修正,定义
M S T = S S T d f T , M S R = S S R d f R , M S E = S S E d f E MST = \frac{SST}{df_T}, \ \ MSR = \frac{SSR}{df_R}, \ \ MSE = \frac{SSE}{df_E} MST=dfTSST, MSR=dfRSSR, MSE=dfESSE
根据上述定义,可以写出下列方差分析表(ANOVA Table)
来源 | SS | df | MS |
---|---|---|---|
回归 | S S R = ∑ i = 1 N ( Y ^ i − Y ˉ ) 2 SSR=\sum_{i=1}^N (\hat{Y}_i - \bar{Y})^2 SSR=∑i=1N(Y^i−Yˉ)2 | 1 | M S R = S S R d f R MSR = \frac{SSR}{df_R} MSR=dfRSSR |
残差 | S S E = ∑ i = 1 N ( Y i − Y ^ i ) 2 SSE=\sum_{i=1}^N (Y_i - \hat{Y}_i )^2 SSE=∑i=1N(Yi−Y^i)2 | N-2 | M S E = S S E d f E MSE = \frac{SSE}{df_E} MSE=dfESSE |
总平方和 | S S T = ∑ i = 1 N ( Y i − Y ˉ ) 2 SST=\sum_{i=1}^N (Y_i - \bar{Y})^2 SST=∑i=1N(Yi−Yˉ)2 | N-1 | M S T = S S T d f T MST = \frac{SST}{df_T} MST=dfTSST |
之前有说过MSE是方差的无偏估计,也就是 E ( M S E ) = σ 2 E(MSE)=\sigma^2 E(MSE)=σ2。现在计算一下MSR的期望。
S S R = ∑ i = 1 N ( Y ^ i − Y ˉ ) 2 = ∑ i = 1 N [ β ^ 0 + β ^ 1 X i − ( β ^ 0 + β ^ 1 X ˉ ) ] 2 = β ^ 1 2 ∑ i = 1 N ( X i − X ˉ ) 2 E ( β ^ 1 2 ) = V a r ( β ^ 1 ) + [ E ( β ^ 1 ) ] 2 = σ 2 ∑ i = 1 N ( X i − X ˉ ) 2 + β 1 2 E ( M S R ) = E ( S S R ) = σ 2 + β 1 2 ∑ i = 1 N ( X i − X ˉ ) 2 SSR = \sum_{i=1}^N (\hat{Y}_i - \bar{Y})^2 = \sum_{i=1}^N [\hat{\beta}_0 +\hat{\beta}_1X_i- (\hat{\beta}_0+\hat{\beta}_1\bar{X})]^2 =\hat{\beta}_1^2\sum_{i=1}^N (X_i - \bar{X})^2 \\ E(\hat{\beta}_1^2)=Var(\hat{\beta}_1)+[E(\hat{\beta}_1)]^2=\frac{\sigma^2}{\sum_{i=1}^N (X_i - \bar{X})^2} + \beta_1^2 \\ E(MSR)=E(SSR)=\sigma^2 + \beta_1^2 \sum_{i=1}^N (X_i - \bar{X})^2 SSR=i=1∑N(Y^i−Yˉ)2=
文章浏览阅读712次。最近单位要求本渣学习服务器脚本编写完成定点市级机构下发的数据库表导入项目服务器数据库,按工作顺序就先打算在自己笔记本电脑上通过虚拟机来模拟生产环境,部署虚拟环境后安装Linux版本Oracle19c数据库。经过数天研究终完成安装,记录如下。安装准备:1、虚拟软件 Oracle VM VirtualBox2、镜像 CentOS-7-x86_64-Minimal-2009.iso3、Xshell 7.04、Xftp 7.05、Xmanager Enterprise 56、LINUX._debian 安装 oracle19c
文章浏览阅读2k次,点赞2次,收藏20次。Halcon分类器示例自我理解看了很多网上的例子,总有一种纸上得来终觉浅,绝知此事要躬行的感觉。说干就干,将Halcon自带分类器例子classify_metal_parts.hdev按照自己的理解重新写一遍,示例中的分类器是MLP(多层感知机),我将它改变为GMM(高斯混合模型)。希望可以帮助刚入门的同学学习理解,大神请绕路吧,当然也喜欢各位看官帮我找出不足之处,共同进步。谢谢!分类效果如图..._训练高斯混合模型分类器
文章浏览阅读819次。使用Jacob转换office文件,Jacob.dll文件需要放到jdk\bin目录下Jacob.dll文件下载地址https://download.csdn.net/download/zss0101/10546500package com.zss.util;import java.io.File;import com.jacob.activeX.ActiveXComponent;..._"officetopdf.wordtopdf(\"d:\\\\1234.doc\", \"d:\\\\1234.pdf\");"
文章浏览阅读1k次,点赞30次,收藏30次。上面的例子我们已经了一个简易的消息队列。我们继续思考一个现实的场景,假定这些是一些游戏商品,它需要添加"延迟销售"特性,在未来某个时候才可以开始处理这些游戏商品数据。那么要实现这个延迟的特性,我们需要修改现有队列的实现。在消息数据的信息中包含延迟处理消息的执行时间,如果工作进程发现消息的执行时间还没到,那么它将会在短暂的等待之后重新把消息数据推入队列中。(延迟发送消息)_redistemplate convertandsend方法实现队列
文章浏览阅读287次,点赞5次,收藏5次。java基础篇
文章浏览阅读298次。linux扩容根目录与/home_双系统linux扩容
文章浏览阅读388次。定义RabbitMQ类import jsonimport osimport sysimport pikafrom Data import Datafrom MongoDB import MongoDBfrom constants import *class RabbitMQ: def __init__(self, queue_name): """ 初始化队列对象 :param queue_name: 队列名称 "_python pika 通过主机名称来访问mq
文章浏览阅读568次。**openpyxl简介**openpyxl是一个开源项目,openpyxl模块是一个读写Excel 2010文档的Python库,如果要处理更早格式的Excel文档,需要用到其它库(如:xlrd、xlwt等),这是openpyxl比较其他模块的不足之处。openpyxl是一款比较综合的工具,不仅能够同时读取和修改Excel文档,而且可以对Excel文件内单元格进行详细设置,包括单元格样式等内容,甚至还支持图表插入、打印设置等内容,使用openpyxl可以读写xltm, xltx, xlsm, xls_在 python 中可以通過 openpyxl 套件來很好的操作 excel 讀寫
文章浏览阅读1.4w次,点赞7次,收藏56次。Unity自带的两种写法:①物体的位置是否在某个区域内Vector3 pos = someRenderer.transform.position;Bounds bounds = myBoxCollider.bounds;bool rendererIsInsideTheBox = bounds.Contains(pos);②物体的矩形与区域的矩形是否交叉Bounds rendererBo..._unity判断物体在范围内
文章浏览阅读295次,点赞6次,收藏4次。报错:Unable to find image 'openexplorer/ai_toolchain_centos_7_xj3:v2.3.3' locally。报错: ./best_line_follower_model_xy.pth cannot be opened。可以看到生成的文件 best_line_follower_model_xy.pth。报错:Module onnx is not installed!安装onox,onnxruntime。这是由于没有文件夹的写权限。
文章浏览阅读393次,点赞10次,收藏8次。MDB-RS232测试NAYAX的VPOS非现金MDB协议刷卡器注意事项
文章浏览阅读2.5k次。作者 |土豆变成泥来源 |知秋路(ID:gh_4a538bd95663)【导读】作为谷歌tensorflow某项目的Contributor,已经迅速弃坑转向Pytorch。目前Ten..._pytorch与tensorflow