假设检验3- 卡方分布

2023-11-08

前言:

目录

一 卡方分布

二  双边假设检验

三  单边假设检验

四  例子


一 卡方分布

     卡方分布

     n 个随机变量均符合标准正态分布,则其平方和符合自由度为n的卡方分布

     \chi(n)=\sum_i^n x_i^2

    重要性质

     \chi(n-1)=\frac{(n-1)s^2}{\sigma^2}


二  双边检验

     2.1   假设

         H_0: \sigma^2=\sigma_0^2, H_1: \sigma^2 \neq \sigma_0^2

    2.2   统计量

            \chi^2(n-1) = \frac{(n-1)s^2}{\sigma^2}

    2.3    拒绝域

             k1 =chi2.ppf(alpha/2)   k2=chi2.ppf(1-alpha/2)

              \frac{(n-1)s^2}{\sigma_0^2}\leq k_1 ,or \frac{(n-1)s^2}{\sigma_0^2} \geq k_2

               其中: k1 可以通过

             

    P值法

     p=\begin{Bmatrix} \chi^2 \leq & \chi_0^2(n-1) \end{Bmatrix}

      \chi_0^2=\frac{(n-1)s^2}{\sigma_0^2}

      由于是双边检验

      P_= 2*min(p,1-p)


三  单边检验

      小写的s是样本方差

      1: 左边检验

              1.1  假设  H_0: \sigma^2=\sigma_0^2 ; H_1: \sigma^2 \leq \sigma_0^2

               1.2 统计量  

               Z= \frac{(n-1)S^2}{\sigma_0^2} \sim \chi^2(n-1)

              1.3 拒绝域

                    P=P_{H_0}\begin{Bmatrix} {\frac{(n-1)S^2}{\sigma_0^2}} \leq {\frac{(n-1)s^2}{\sigma_0^2}} \end{Bmatrix}

                    =\begin{bmatrix} -\infty,\chi^2_{\alpha}(n-1) \end{bmatrix}

                     这里分位数代表下分位数,如果是上分位数写法为1-\alpha

              1.4 P值法

                      P=P_{H_0}\begin{Bmatrix} {\frac{(n-1)S^2}{\sigma_0^2}} \leq {\frac{(n-1)s^2}{\sigma_0^2}} \end{Bmatrix}

      2: 右边检验

            

 

              2.1  假设

                      H_0: \sigma^2 =\sigma_0^2 ; H_1: \sigma^2 \geq \sigma_0^2

                     

              2.2 统计量  

                      Z= \frac{(n-1)S^2}{\sigma_0^2} \sim \chi^2(n-1)

              2.3 拒绝域

                          =\begin{bmatrix} \chi_{1-\alpha}(n-1),\infty \end{bmatrix}

                

                            这里分位数代表下分位数,如果是上分位数写法为\alpha

              2.4 P值法

                       P_{-}=P\begin{Bmatrix} \chi^2(n-1) \geq \chi_0^2(n-1) \end{Bmatrix}

                      

 


四  例子:

    4.1  

 解:

      这是左边检验

     step1   H_0: \sigma^2=\sigma_0^2 ; H_1: \sigma^2 \leq \sigma_0^2

       step2 :统计量

        Z= \frac{(n-1)S^2}{\sigma_0^2} \sim \chi^2(n-1)

       统计量 14.57  

   step3:  在置信度为0.05,自由度为 24 情况下

        分位数 13.848 

    step4

            原假设成立 

      

# -*- coding: utf-8 -*-
"""
Created on Sat Jul 31 10:26:06 2021

@author: chengxf2
"""
import numpy as np
from scipy.stats import chi2
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
from sklearn.preprocessing import StandardScaler

'''
统计量
args
  df: 自由度
  s: 样本方差
  sigma: 方差
'''
def GetZ(df,s,sigma):
    
    z = df*s/sigma
    
    return z

def GetQ(alpha, df):
    
    q = chi2.ppf(alpha,df)# -*- coding: utf-8 -*-
"""
Created on Sat Jul 31 10:26:06 2021

@author: chengxf2
"""
import numpy as np
from scipy.stats import chi2
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
from sklearn.preprocessing import StandardScaler

'''
统计量
args
  df: 自由度
  s: 样本方差
  sigma: 方差
'''
def GetZ(df,s,sigma):
    
    z = df*s/sigma
    
    return z

def GetQ(alpha, df):
    
    q = chi2.ppf(alpha,df)
    return q
if __name__=="__main__":
    n= 25
    s= 4.25
    df = n-1
    sigma = 7
    alpha = 0.05
    
    
    z = GetZ(df,s,sigma)
    q =GetQ(alpha, df)
    
    print("\n 统计量 %5.2f"%z,"\t 分位数 %5.3f "%q)
    
    if z>q:
        print("\n 原假设成立 ")
    else:
        print("\n 拒绝原假设")
    return q
if __name__=="__main__":
    n= 25
    s= 4.25
    df = n-1
    sigma = 7
    alpha = 0.05
    
    
    z = GetZ(df,s,sigma)
    q =GetQ(alpha, df)
    
    print("\n 统计量 %5.2f"%z,"\t 分位数 %5.3f "%q)
    
    if z>q:
        print("\n 原假设成立 ")
    else:
        print("\n 拒绝原假设")

 

 4.2 鸢尾花 数据集种,每个维度归一化后,其平方和可以假设符合卡方分布

检验临界值法和P值法效果是否一样,找出分布异常的点。

解:

 

 

    通过代码 ,其效果完全一致。

# -*- coding: utf-8 -*-
"""
Created on Fri Jul 30 16:39:08 2021

@author: chengxf2
"""

import numpy as np
from scipy.stats import chi2
from sklearn.datasets import load_iris
from sklearn.preprocessing import StandardScaler


'''
检验:
args
   x_std: 每一列的数据都是标准的正太分布
'''


def check(x_std, alpha=0.01):

    if alpha > 0.5:
        print("\n ========error=========")
        return

    m, n = np.shape(x_std)

    df = n  # 自由度

    low = chi2.ppf(alpha/2, df)  # 左边拒绝域
    up = chi2.ppf(1-alpha/2, df)  # 右边拒绝域

    for i in range(m):
        x = x_std[i]  # 样本
        a = np.power(x, 2)  # 样本平方
        b = np.sum(a)  # 随机变量的平方和符合卡方分布

        # p = 2*chi2.sf(b,df) #1-CDF 累计积分 ,双边分布的p值法
        p = chi2.cdf(b, df)
        p_ = 2 * min(p, 1.0-p)

        bReject_p = False
        bReject_N = False
        if p_ < alpha:
            bReject_p = True

        if b < low or b > up:
            bReject_N = True

        if bReject_p != bReject_N:
            print("\n P值法    %4.3f  i: %d " % (p, i))


'''
标准化
Args
  data:   数据集
 
return
  x_std: 样本标准化后的情况
  u: 每个维度的均值
  std: 每个维度的无偏标准差ddof = 0(n无偏);1(n-1)
'''


def standardization(data):
    #x_std = StandardScaler().fit_transform(data)
    scaler = StandardScaler().fit(data)
    x_std = scaler.transform(data)

    print("\n data ", np.shape(x_std))

    u = scaler.mean_
    sig = scaler.scale_

    #print("\n 维度均值: ", u, "\t 维度方差 ", sig)
    '''
    m, n = np.shape(data)
    for i in range(n):

        x = data[:, i]
        u = np.mean(x)
        sigma = np.std(x,ddof=0)

        print("\n i %d  u: %5.2f  sigma %5.3f" % (i, u, sigma))
    '''
    return x_std, u, sig


'''

 均值方差归一化 Standardization
 
加载数据集
Args
   None
   iris: ['target_names', 'data', 'target', 'DESCR', 'feature_names']
return

'''


def LoadData():
    data = load_iris()
    feature = data['data']
    m, n = np.shape(feature)

    return feature


if __name__ == "__main__":

    data = LoadData()
    x_std = standardization(data)
    check(x_std[0], 0.01)

  

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

假设检验3- 卡方分布 的相关文章

随机推荐

  • 字符串排序(函数,指针)(C语言实现)

    编写程序 用户输入n个 n lt 100 字符串 每个字符串长度小于100 按照字典顺序将字符串进行排序 并输出 要求在排序中使用指针数组完成 输入说明 输入第一行是一个整数数字 表示n 接下来有n行字符串 表示待排序字符串 输出说明 输出
  • 虚拟现实期末考试

    考点 考试分比 考试题型单项选择题40 名词解释题10 简答题20 程序设计题8 综合题12 材料分析题10 等 选择题 名词解释 VR 虚拟现实技术 英文名称 Virtual Reality 缩写为VR 是20世纪发展起来的一项全新的实用
  • linux sudo su - 免密配置

    添加用户 sudo useradd d home awen m s bin bash awen 添加用户切换root免密配置 echo awen ALL ALL NOPASSWD ALL gt gt etc sudoers d 90 clo
  • 如何更改电脑开机密码

    以我的电脑为例 是Windows 10系统的笔记本电脑 想要重新设置开机密码 相信大家都有想重新设置密码的冲动 网上也有对应的教程 但是很多人都有一个疑问 为什么根据教程来修改却没有成功 或者是重新登录电脑发现密码根本没有变化 其实不然 这
  • 技术进化对风险隔离与屏蔽超过民众想象

    刷脸支付公众在收获着消费便捷快感的同时 更多地则对刷脸支付的安全性与风险性提出了质疑 与指纹 虹膜等相比 人脸具有弱隐私性的生物特征 而且正是由于手机这一介质的缺失 人脸信息的克隆与利用也会变得 更加容易 相应地 用户使用刷脸支付的风险也就
  • Linux系统卡在iscsi服务导致无法正常开机

    现象 存储网络断开了 机器再开机时卡在开机logo去挂载iscsi 导致没法正常开机 解决办法 1 进救援模式或者单用户模式 将iscsid服务开机自启关了并禁用 关闭自启可能还是存在会被唤醒的情况 systemctl disable is
  • Maven项目的两种打包方式-spring-boot-mavne-plugin/maven-jar-plugin

    Maven项目的两种打包方式 spring boot mavne plugin maven jar plugin 1 前言 Maven的两种打包方式 2 流程图 3 spring boor maven plugin打包 4 maven ja
  • Java架构师的10个学习经验分享,初学者必看

    从零基础学习Java 只要方法正确 依然可以学好Java编程 学习Java就像交朋友一样 要从陌生到熟悉再到铁杆搭档一生相伴的过程 随着深入的了解 你不但会发现学Java并不是和想象的那样无聊和困难 而且还有一些美妙之感 当然在拥有强大的技
  • SecureCRT8.5的下载、安装、注册、连接

    https blog csdn net qq 37233070 article details 120683434
  • 前端Blob文件导出

    前端Blob文件导出 前言 一 Blob是什么 二 axios 拦截器中做统一处理 三 页面全局封装下载组建 总结 前言 通过把blob转file对象的方法下载文件 一 Blob是什么 Blob 对象表示一个不可变 原始数据的类文件对象 B
  • 了解一下Java的日志体系

    目录 了解日子框架体系 分析日志框架如何转换 logback日志的集成 SpringBoot日志使用 常见的一些日志框架如 commons logging jar log4j jar sl4j api jar等 他们之间是存在一定关系的 在
  • mysql错误解决(2003、1045 2800)

    1 2003解决 在D mysql 5 7 26 winx64中新建文件夹data 在bin中进入cmd 运行 mysqld initialize 等一段事件后 重启mysql服务 2 1045 2800 在my ini加入skip gra
  • 【机器学习 & 深度学习】通俗讲解集成学习算法

    目录 集成学习 一 机器学习中的集成学习 1 1 定义 1 2 分类器 Classifier 1 2 1 决策树分类器 1 2 2 朴素贝叶斯分类器 1 2 3 AdaBoost算法 1 2 4 支持向量机 1 2 5 K近邻算法 1 3
  • Pytorch使用NN神经网络模型实现经典波士顿boston房价预测问题

    Pytorch使用多层神经网络模型实现经典波士顿boston房价预测问题 波士顿房价数据集介绍 波士顿房价数据集是一个经典的机器学习数据集 用于预测波士顿地区房屋的中位数价格 该数据集包含了506个样本 每个样本有13个特征 包括城镇的各种
  • Vscode配置已有工程及自动格式化

    这里写目录标题 前言 配置CMake 配置clang clang tidy clang format clangd clang tidy clang format 前言 最近一直在用vscode写代码 发现vscode一旦配置好了真的好用
  • vue3.0 nextTick

    将回调推迟到下一个DOM更新周期之后执行 在更改了一些数据以等待DOM更新后立即使用它 import createApp nextTick from vue 方式一 const app createApp setup const chang
  • Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication解决办法

    node连接数据库报错 Error ER NOT SUPPORTED AUTH MODE Client does not support authentication protocol requested by server conside
  • sqlite3 数据同步

    在一个小项目中 用到 sqlite3 需要同步两个表 懒得装工具 写了两个函数搞掂 贴代码出来给需要的朋友 encoding utf 8 author 陈年椰子 contact hndm qq com version 1 0 file wo
  • Yapi的安装与使用

    前言 YApi 是高效 易用 功能强大的 api 管理平台 旨在为开发 产品 测试人员提供更优雅的接口管理服务 可以帮助开发者轻松创建 发布 维护 API YApi 还为用户提供了优秀的交互体验 开发人员只需利用平台提供的接口数据写入工具以
  • 假设检验3- 卡方分布

    前言 目录 一 卡方分布 二 双边假设检验 三 单边假设检验 四 例子 一 卡方分布 n 个随机变量均符合标准正态分布 则其平方和符合自由度为n的卡方分布 重要性质 二 双边检验 2 1 假设 2 2 统计量 2 3 拒绝域 k1 chi2