探索 t Statistic的稳健性

article/2025/11/5 20:00:28

探索 t Statistic的稳健性

探索t-statistic 的稳健性
假设有2组数据,x1,…,xm; y1,…,yn。 t-test的假设为两组数据的平均值无差异 即:
在这里插入图片描述
令X和Sx为为x数组的平均值和标准差,Y和Sy为y数组的平均值和标准差;则H0的判别式为
在这里插入图片描述
在这里插入图片描述

在H0假设下,参数T符合t-分布(m+n-2自由度)的前提:
1)数组x和数组y都是独立随机样品,符合正态分布;
2)两个群体的标准差相同
若显著性水平设置为a,则当 |T|≥tn+m-2,a/2,时 H0假设不成立。
什么是显著性水平a??
显著性水平是估计总体参数落在某一区间内,可能犯错误的概率,用α表示;假设检验是围绕对原假设内容的审定而展开的,显著性是对差异的程度而言的,程度不同说明引起变动的原因也有不同:一类是条件差异,一类是随机差异。它是在进行假设检验时事先确定一个可允许的作为判断界限的小概率标准。
tn+m-2,a/2 即tdf,a 代表什么?代表在一个自由度为df的t分布中,(1-a)所在的分位数。

##构造一个函数来计算t 值
#模拟构造一个符合正态分布的x和y数组,均值为50,标准差为10,一共10个数值
x=rnorm(10,mean=50,sd=10)
y=rnorm(10,mean=50,sd=10)
#获得数组长度
m = length(x)
n = length(y)
#计算Sp和t.stat
sp=sqrt(((m-1)*sd(x)^2+(n-1)*sd(y)^2)/(m+n-2))
t.stat=(mean(x)-mean(y))/(sp*sqrt(1/m+1/n))# 通过构建函数,可以将功能打包
tstatistic=function(x,y)
{m=length(x)n=length(y)sp=sqrt(((m-1)*sd(x)^2+(n-1)*sd(y)^2)/(m+n-2))t.stat=(mean(x)-mean(y))/(sp*sqrt(1/m+1/n))return(t.stat)
}
# 若将函数另存为*.R文件,则可以直接调用
source("tstatistic.R")#实际操作如下
data.x = c(1,4,3,6,5)
data.y = c(4,4,7,6,10,1212)
T = tstatistic(data.x,data.y)
# 已求得T值,如何判断是否存在差异?查表??
t = qt(0.95,9)#计算n=5,m=6的t分布中,显著性水平(a=0.1)所在分位数的t值,即查表所得,判断|T|是否大于t,若小于t,则H0成立为大概率时间,小概率(<0.05)的情况未发生/
abs(T)## 若 两个群体不符合正态分布和变异度相当的假设;则显著性水平则依赖于# 事先提供的 a 值# 数据群体的形状,例如normal, skewed, heavy-tailed等# 用两个标准差测量的两个群体的分布# the sample sizes m and n,群体的大小#在给定 α, shape, spreads, and sample sizes,若需要估算αT(the true significance level)# αT = P(|T| ≥ tn+m−2,α/2)#其基本算法是:#1 从初始群体中模拟x1-xm;y1-ym。#2 计算T值#3 判断|T|是否超过临界值,H0是否成立# 重复1-3步骤N次, #αT = (number of rejections of H0)/N
#R 代码如下,其中alpha是给定的显著性水平,m,n为样本大小,qt(p,df)为在df自由度的t分布中p分位数所对应的t值。
#abs(t) > qt(1-alpha/2,m+n-2)
#实际演示
alpha=.1; m=10; n=10 # 设置 alpha, m, n
N=10000 # 设置模拟次数
n.reject=0 # 计数器,累计H0不成立的次数for (i in 1:N)
{x=rnorm(m,mean=0,sd=1) # 模拟样本x,基于均值0,sd1群体y=rnorm(n,mean=0,sd=1) # 模拟样本y,基于均值0,sd1群体t.stat=tstatistic(x,y) # 计算t值if (abs(t.stat)>qt(1-alpha/2,n+m-2))n.reject=n.reject+1 # 若H0不成立,即|T|> pt,则累加
}
true.sig.level=n.reject/N # 计算实际aT

http://chatgpt.dhexx.cn/article/edjBUuJO.shtml

相关文章

AS 使用Statistic插件统计代码行数

1.下载插件及安装 点击File → Setting→ Plugins&#xff0c;搜索Statistic插件&#xff0c;点击install按钮安装插件。 2.插件使用 安装成功后重启AS&#xff0c;在View→Tool Windows→Statistic&#xff0c;选择后AS底部会显示Statistic按钮&#xff0c; 点击Refresh按钮…

IDEA 统计Statistic插件下载地址

IDEA 统计Statistic插件安装地址 https://plugins.jetbrains.com/plugin/4509-statistic/versions

idea-统计代码行数Statistic

idea统计代码行数可以用到插件&#xff1a;Statistic。 步骤&#xff1a; File→Settings进入Plugins点击Marketplace搜索Statistic 安装蓝框标出的插件 重启idea后就可以看到效果了&#xff08;图是拿的别人的&#xff0c;基本就是这效果&#xff09;如果没有下边的stat…

IDEA代码统计插件Statistic-统计项目代码文件数及代码行数

今天被问到项目的代码量及代码行数&#xff0c;由于项目代码量还挺多&#xff0c;第一时间想到idea有没有插件可以统计&#xff0c;经过搜索&#xff0c;还真有&#xff0c;当然也可以自己写代码实现。 以下介绍Statistic的安装及使用。 1、在IDEA左上角点击File->Setting…

idea中代码统计工具Statistic的配置与使用

idea中代码统计工具Statistic的配置与使用 有的同学在idea中下载了statistic的插件但是就是没看到这个插件的标志&#xff0c;这是因为插件对应了不同的版本,需要下载对应的版本&#xff1a;https://plugins.jetbrains.com/plugin/4509-statistic/versions 下载完成之后File—…

Intellij idea使用Statistic统计代码行数的方法

一、安装Statistic 1、打开IDEA 2、打开settings进行设置 3、选择plugins&#xff0c;搜索Statistic并安装 4、下载完成之后&#xff0c;重启IDEA&#xff0c;此时Statistic就安装好了 二、使用Statistic 1、安装好Statistic之后我们可以通过以下步骤 将Statistic插件的控制台展…

IDEA - 如何安装Statistic代码统计插件?

插件地址 插件下载 插件选择 &#xff08;1&#xff09;如果IDEA的版本比较新&#xff0c;IDEA会自动选择Statistic对应的版本&#xff1b; &#xff08;2&#xff09;如果IDEA的版本比较老&#xff0c;请使用Statistic的3.8.1版本。 如何安装 1. 在线搜索并安装 2. 离线…

GIT统计代码量及IDEA Statistic统计解析

GIT统计代码量 Git统计个人提交代码行数 git log --format%aN | sort -u | while read name; do echo -en "$name\t"; git log --author"$name" --prettytformat: --numstat | awk { add $1; subs $2; loc $1 - $2 } END { printf "added lines:…

idea查看代码行数Statistic

软著需要知道代码行数&#xff0c;安装Statistic插件即可。 安装后&#xff0c;重启&#xff0c;点击左下角“refresh”即可查看各类文件行数 可以设置统计代码的文件格式

IDEA统计代码量Statistic插件

IDEA统计代码量Statistic插件 Statistic插件安装步骤1、步骤&#xff08;文字&#xff09;2、步骤&#xff08;图&#xff09; 结尾 Statistic插件 Statistic插件&#xff0c;IDEA中用来统计代码量的插件&#xff0c;话不多说上步骤。安装步骤 1、步骤&#xff08;文字&#…

Android Studio代码统计插件Statistic

一、打开 AS -> File -> Settings -> Plugins&#xff0c;搜索statistic&#xff0c;在线安装即可 二、安装完成后&#xff0c;在AS底部找到Statistic 三、点击Statistic&#xff0c;打开界面&#xff0c;如果没有数据&#xff0c;点击Refresh按钮刷新

统计项目代码行数 intelliJ idea statistic 插件

任务需求是让你统计一下&#xff0c;现在涉及到的每个模块的代码的行数&#xff0c;这个任务怎么实现呢&#xff1f;哎&#xff0c;这idea竟然有个现成的插件&#xff0c;直接拿来用&#xff0c;就能实现对源码的简单分析和统计。直接在idea的插件仓库里面搜索“statistic”&am…

IDEA 集成Statistic插件

背景&#xff1a;当项目开发结束之后&#xff0c;客户在统计相关数据汇报工作时经常会向开发方索要代码行数。作为一个程序员&#xff0c;绝对不会一行一行的去数&#xff0c;也很少有程序员每天将自己的写的代码行数记录下来&#xff0c;最后汇总在一起。程序员的思维就是借助…

关于pip安装gap_statistic

用pip install gap_statistic试了很多源&#xff0c;不成功 搜到用以下命令添加 conda-forge 渠道&#xff0c;但是没用 conda config --add channels conda-forge 还是最后在anaconda里面搜到了“gap_stat”&#xff0c;于是&#xff0c;直接换成了 pip install gap-stat …

idea :插件Statistic 统计代码数量和行数

Statistic 介绍 Shows project statistic. This plugin shows files sorted by their extension along with size, line count LOC etc. User can select (Project/Module/Package/File) scope using the Refresh on selection button. (This plugin requires Java 1.8) 显示项…

使用Statistic统计代码行数

使用Statistic统计代码行数 一、安装Statistic二、使用Statistic三、遇到的问题 一、安装Statistic 1、打开IDEA 2、打开settings进行设置 3、选择plugins&#xff0c;进行插件安装 4、搜索Statistic并安装 5、下载完成之后&#xff0c;重启IDEA&#xff0c;此时Statistic就…

C++ Accumulate(累加算法)

1;accumulate带有三个形参&#xff1a;头两个形参指定要累加的元素范围&#xff0c;第三个形参则是累加的初值。 2;accumulate 对要累加的元素类型一无所知&#xff0c;这个事实有两层含义。首先&#xff0c;调用该函数时必需传递一个初始值&#xff0c;否则&#xff0c;accumu…

C++11标准模板(STL)- 算法 - 数值运算 (std::accumulate)

定义于头文件 <algorithm> 算法库提供大量用途的函数&#xff08;例如查找、排序、计数、操作&#xff09;&#xff0c;它们在元素范围上操作。注意范围定义为 [first, last) &#xff0c;其中 last 指代要查询或修改的最后元素的后一个元素。 对一个范围内的元素求和 …

accumulate_Python中的Reduce()与Accumulate()

accumulate reduce()vs累加 (reduce() vs accumulate) 减少() (reduce()) The functools module is for higher-order functions. Functions that act on or return other functions. In general, any callable object can be treated as a function for the purposes of this …

std库学习②:accumulate

该算法在numeric头文件中定义。 首先来看一个例子&#xff1a; //定义了一个整型vector数组 vector<int> vec {2, 0, 12, 3, 5, 0, 2, 7, 0, 8}; 按标准版的accumulate来使用&#xff0c;如下&#xff1a; std::accumulate(vec.begin(),vec.end(),35); 上面的代码语…