Java之T分布计算数据的双侧置信区间

一、提出问题

T分布如何计算其数据的双侧置信区间
在这里插入图片描述

二、一、基本理论与操作说明

T分布与其置信区间:设X∼N(0,1),Y∼χ2(n),且X和Y相互独立,则称随机变量在这里插入图片描述
服从自由度为n的t分布,记为 T∼t(n)。当n=1的t分布,就是柯西分布;期望不存在; 当n>1时,E(T)=0;当n≤2时,方差不存在;当n>2时,D(T)=n/n−2。 t分布的置信区间(Confidence Interval,CI)在这里插入图片描述
式中 a=1-95% 是显著水平。S是样本标准差,当没有总体标准差 就使用是s。t分布曲线及95%置信区间表示图见图1,不同自由度和显著水平的对应表见表1。
在这里插入图片描述

三、举例说明

1、要求
在这里插入图片描述
2、实现代码

class ci
{
double mean(double data[])//计算样本均值
{
double mean=0;
for(int i=0;i<data.length;i++)
mean       += data[i]/data.length;
return mean;
}
double s(double data[])//计算样本标准差S
{
double s=0;
double mean=      mean(data);
for(int i=0;i<data.length;i++)
s         += (data[i]-mean)*(data[i]-mean);
return         Math.sqrt(s/(data.length-1));
}
double se(double data[])
{
return s(data) / Math.sqrt(data.length);
}
double[] sci(double data[])
{
double ci[]={0,0};//置信区间数组
double zvalue=2.447;//t分布临界值 查表获得
ci[0]=            mean(data) - zvalue * se(data);
ci[1]=            mean(data) + zvalue * se(data);
return ci;
}
void out(double data[])
{
for(int i=0;i<data.length;i++)
System.out.print(data[i]+",");
}
}
class test
{
public  static void main(String[] args)
{
double data[]={26.7,22,24.1,21,27.2,25,23.4};
ci s=  new ci();//创建新对象
double result[]=s.sci(data);
s.out(result);//22.076803170755408,26.32319682924459,
}
}

注:

  • double s(double data[])这个方法是计算样本标准差
    在这里插入图片描述

  • double se(double data[])这个方法是计算样本标准误差
    在这里插入图片描述
    3、运行结果图
    在这里插入图片描述

以上就是本文所有内容,希望能帮到大家!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值