Python 实现Z检验&置信区间的求解:自定义函数快捷调用

在这里插入图片描述
  正式开始前,请确保你已经完全清晰地理解了假设检验、Z分数、Z检验和置信区间的基本概念,若还有疑虑,这篇文章也许能帮到你,当然直接开始其实也没问题。

统计学(三):置信区间; Z 检验(样本平均数的假设检验), 均值分布, 附Python实现(大牌护肤品碧欧泉背后的秘密)

Python 逐步实现Z检验

这里直接贴上读者 Jupyter Notebook 中的运行步骤流程,内涵精彩的可视化。
在这里插入图片描述
具体是怎么一步到位实现快捷且含有不少细节的可视化的,可见文末的延伸阅读在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


自定义 Z 检验函数

在这里插入图片描述


自定义置信区间函数

在这里插入图片描述


源代码呈现

可以直接放进自己写的库 mystatistic:我的专属统计学库,函数中的一些变量设置可能会过于冗长,这里只是方便阐述思路,可根据实际情况改装.

# 基础库
import numpy as np
import pandas as pd

# 提高输出效率库
from IPython.core.interactiveshell import InteractiveShell # 实现 notebook 的多行输出
InteractiveShell.ast_node_interactivity = 'all' #默认为'last'

def z_test(sample, totality, alpha=0.05, size='double'):
    """ 传入样本,总体,显著性水平,默认为双侧检验 """
    N = len(sample) # N
    sample_mean = np.mean(sample) # M
    totality_mean = np.mean(totality) # mu_M
    totality_std = np.std(totality) # sigma
    sigma_m = totality_std / N**0.5 # sigma_M
    
    z_score = (sample_mean - totality_mean) / sigma_m
    
    return {'样本数 N': N, '样本均值 M': sample_mean,
            '总体均值μ_m': totality_mean, 
            '总体标准差 σ': totality_std,
            '均值分布的标准差 σ_m': sigma_m,
            'Z 分数': z_score,
            '上临界值': +1.96, '下临界值': -1.96}
    
    if size == 'hemi':  # 单侧检验
        pass   # 以后再自定义,先用着双侧的先

def confidence_interval(sample, totality, alpha=0.05):
    """ 传入样本,总体,显著性水平,默认为双侧检验 """
    N = len(sample) # N
    sample_mean = np.mean(sample) # M
    totality_mean = np.mean(totality) # mu_M
    totality_std = np.std(totality) # sigma
    sigma_m = totality_std / N**0.5 # sigma_M
    
    # lb:lower bound;up:upper bound
    LB = sample_mean - 1.96*sigma_m
    UP = sample_mean + 1.96*sigma_m
    
    return {'样本数 N': N, '样本均值 M': sample_mean,
            '总体均值μ_m': totality_mean, 
            '总体标准差 σ': totality_std,
            '均值分布的标准差 σ_m': sigma_m,
            'alpha_level': 0.05,
            '置信上限': LB, '置信下限': UP}


延伸阅读 & 精彩回顾

延伸阅读

精彩回顾

  数据分析,商业实践,数据可视化,网络爬虫,统计学,Excel,Word, 社会心理学,认知心理学,行为科学,民族意志学 各种专栏后续疯狂补充

  欢迎评论与私信交流!

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python跑批过程中出现Impala异常"AnalysisException: 自定义函数未知",通常是由于在Impala查询中使用了一个在Impala中未定义或无法识别的自定义函数。 Impala是一个为了高速查询而设计的分布式SQL查询引擎。它拥有许多内置的函数供用户使用。然而,有时用户需要使用自定义函数来满足特定的需求。当我们尝试在Impala查询中调用自定义函数时,如果Impala无法找到这个函数的定义或者无法识别这个函数,就会抛出"AnalysisException: 自定义函数未知"异常。 解决这个问题的方法有以下几个步骤: 1. 确保已正确定义自定义函数:首先检查自定义函数的定义是否正确,包括函数名称、参数数目和类型等。如果自定义函数的定义有误,需要进行修正。 2. 检查函数是否已正确注册:在Impala中,我们需要通过注册函数来告诉Impala该函数的存在。通过在命令行或Impala客户端中执行REGISTER FUNCTION语句,将自定义函数注册到Impala中。如果函数未正确注册,Impala就无法识别该函数。 3. 确保Impala版本兼容性:有时候自定义函数可能是在较新版本的Impala中开发或测试的,而正在运行的Impala环境可能是较旧版本。在这种情况下,可能会出现Impala无法识别自定义函数的情况。因此,需要确保Impala的版本兼容性,或者考虑升级Impala以支持所需的自定义函数。 4. 检查函数的依赖项:有时候自定义函数可能依赖于其他库或模块。在Impala中使用自定义函数之前,需要确保所依赖的库或模块已正确安装和配置,并能够在Impala环境中正常访问。 总结:当Python跑批过程中出现Impala异常"AnalysisException: 自定义函数未知"时,需要检查自定义函数的定义、注册情况、Impala版本兼容性以及函数的依赖项,并进行相应的修正和配置,以解决该异常。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值