• 假设检验2


    为研究东、中、西部各省市规模以上的企业发展状况,我们收集了各城市企业的主要经济指标,包括:总资产贡献率、资产负债率、流动资产周转次数、工业成本费用利润率、产品销售率。我们用变量“类别”定义了各类城市,其中1为东部城市;2为中部城市;3为西部城市。数据文件为homework2.xlsx。假设显著性水平为 α = 0.01 \alpha=0.01 α=0.01,问:

    1. 对三个类别的城市进行均值向量间的两两比较,查看结果

    加载必要的包

    import numpy as np
    import pandas as pd
    from scipy import stats
    import matplotlib.pyplot as plt
    from IPython.display import display
    
    • 1
    • 2
    • 3
    • 4
    • 5
    data=pd.read_excel('./homework2.xls')
    data.head()
    
    • 1
    • 2

    在这里插入图片描述

    group_1=data[data['类别']==1].drop(['类别','地区'],axis=1) # 去除地区、类别标签列,只保留数值列
    group_2=data[data['类别']==2].drop(['类别','地区'],axis=1) # 去除地区、类别标签列,只保留数值列
    group_3=data[data['类别']==3].drop(['类别','地区'],axis=1) # 去除地区、类别标签列,只保留数值列
    group_1.head()
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    def multi_unparied_data(group1:pd.DataFrame,group2:pd.DataFrame,confidence=0.05):
        # 计算检验统计量
        n1=len(group1)
        n2=len(group2)
        p=np.shape(group1)[1] # 变量维度
        mean1=np.mean(group1).values.T
        mean2=np.mean(group2).values.T
        S1=np.cov(group1.T)
        S2=np.cov(group2.T)
        Sp=((n1-1)*S1+(n2-1)*S2)/(n1+n2-2)
        T2=n1*n2*(mean1-mean2).T@np.linalg.inv(Sp)@(mean1-mean2)/(n1+n2)
        Test_statistics=(n1+n2-p-1)*T2/(p*(n1+n2-2))
    
        # 计算p值
        from scipy.stats import f
    
        pvalue=f.sf(Test_statistics,p,n1+n2-p-1)
    
        # 比较p值与显著性水平
        if pvalue<confidence:
            print('在显著性水平{0:}下,两组样本所在总体的均值向量不相等。(p={1:.4f})'.format(confidence,pvalue))
        else:
            print('在显著性水平{0:}下,两组样本所在总体的均值向量相等。(p={1:.4f})'.format(confidence,pvalue))
        return pvalue
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    multi_unparied_data(group_1,group_2)
    
    • 1

    在显著性水平0.05下,两组样本所在总体的均值向量相等。(p=0.2793)

    multi_unparied_data(group_1,group_3)
    
    • 1

    在显著性水平0.05下,两组样本所在总体的均值向量不相等。(p=0.0097)

    multi_unparied_data(group_2,group_3)
    
    • 1

    在显著性水平0.05下,两组样本所在总体的均值向量不相等。(p=0.0470)

    2. 对三个类别的城市同时进行均值向量间的比较,查看结果

    from statsmodels.multivariate.manova import MANOVA
    
    model=MANOVA.from_formula(' 总资产贡献率 + 资产负债率 + 流动资产周转次数 + 工业成本费用利润率 + 产品销售率 ~ 类别', data=data).mv_test()
    # 在''中填入公式,其中~左侧填入自变量名称,~右侧填入因素名称
    print(model.results['类别']['stat'])
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    3. 承接问题2,你认为哪些变量导致了三个类别城市均值向量的差异?说出你的理由。

    print(stats.f_oneway(group_1.总资产贡献率.values,group_2.总资产贡献率.values,group_3.总资产贡献率.values))
    print(stats.f_oneway(group_1.资产负债率.values,group_2.资产负债率.values,group_3.资产负债率.values))
    print(stats.f_oneway(group_1.流动资产周转次数.values,group_2.流动资产周转次数.values,group_3.流动资产周转次数.values))
    print(stats.f_oneway(group_1.工业成本费用利润率.values,group_2.工业成本费用利润率.values,group_3.工业成本费用利润率.values))
    print(stats.f_oneway(group_1.产品销售率.values,group_2.产品销售率.values,group_3.产品销售率.values))
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    model=MANOVA.from_formula(' 总资产贡献率 + 资产负债率 + 工业成本费用利润率 + 产品销售率 ~ 类别', data=data).mv_test()
    print(model.results['类别']['stat'])
    
    • 1
    • 2

    在这里插入图片描述

    model=MANOVA.from_formula(' 总资产贡献率 + 资产负债率 + 工业成本费用利润率 ~ 类别', data=data).mv_test()
    print(model.results['类别']['stat'])
    
    • 1
    • 2

    在这里插入图片描述

    model=MANOVA.from_formula('资产负债率 + 工业成本费用利润率 ~ 类别', data=data).mv_test()
    print(model.results['类别']['stat'])
    
    • 1
    • 2

    在这里插入图片描述
    流动资产周转次数、产品销售率导致了三个类别城市均值向量的差异。

    感谢 Datawhale 对开源学习的贡献!

    感谢 Git-Model 创作团队!

    参考文献:

    Modeling-Universe/Data-Story/Task7_下_假设检验2_多元数值向量检验/假设检验2-多元数值向量的检验.ipynb

  • 相关阅读:
    机器学习和数据挖掘03-模型性能评估指标
    【数据结构】二叉树链式结构的实现(三)
    【初学者必看】vlc实现的rtsp服务器及转储H264文件
    详解COCO数据格式的json文件内容
    Ribbon
    时间序列的数据分析(二):数据趋势的计算
    知名啤酒百威布局NFT,试图揭开“蓄谋已久”的上链面纱?
    Java性能优化可算是讲明白了,优化权威指南就是强
    C++Qt开发——SMTP协议
    MongoDB从入门到精通、Springboot整合MongoDB
  • 原文地址:https://blog.csdn.net/weixin_43595036/article/details/126446235