多元正态分布的定义(多元统计分析经典例题)

关于本文多元正态分布推断(Inference for a Multivariate Normal Population)理论参见《Applied Multivariate Statistical Analysis and Related Topics with R》第五章内容,书中提供了相关示例的R代码,对于偏爱Python的我,希望通过Python得到同样的结果。

数据集的获取网址:
www.stat.ubc.ca/~lang/text.

示例用到的数据集分别为:class.dat2, consum2000.txt, consum2010.txt.

进行Python编程分析前,先把数据集通过R软件转换下格式,虽然Python也可以读取txt文件,但我更喜欢读取csv格式,所以通过以下代码,将数据集转换为CSV格式并保存本地。

data = read.table('class.dat2', header = T)
write.csv(data, 'class.csv')

示例1

需要用到class数据集,这个示例可以简单概括为期中考试前有两次测试quiz1和quiz2,期中考试后有两次测试quiz3和quiz4,比较quiz1和quiz2之间学生成绩有无进步,以及quiz3和quiz4之间学生成绩有无进步。令μ1 = mean(quiz1 – quiz2), μ2 = mean(quiz3 – quiz4)。

多元正态分布的定义(多元统计分析经典例题)

进行多元正态分布推断,编程思路为:

1.导入数据 -> 2.求解样本均值和样本协方差阵 -> 3.计算Hotelling’s T 统计量 -> 4.计算p值,根据p值结合实例分析结果。

代码实现如下:

# 引入第三方库
import pandas as pd
import numpy as np
from scipy import stats


# 读取数据
data = pd.read_csv("class.csv")
df = pd.DataFrame(data)
# 构建矩阵
y = np.c_[df.quiz1-df.quiz2, df.quiz3-df.quiz4]
print(y)
# 计算样本数量n
n = np.shape(y)[0]
# 计算变量数目p
p = np.shape(y)[1]


# 计算样本均值
y = pd.DataFrame(y)
y_bar = y.mean()
print(y_bar)


# 计算样本协方差
S_y = y.cov()
print(S_y)


# 计算 Hotelling's T statistic
T_sq = n * np.dot(np.dot(y_bar.T, np.linalg.inv(S_y)), y_bar)
T_sq2 = ((n - p)/(p * (n - 1))) * T_sq
print('T_sq2:', T_sq2)


# 计算p值
p_value = 1 - stats.f.cdf(T_sq2, p, n-p)
print('p_value:', p_value)

输出结果:

p_value: 0.05442091231270707

由p值可以看出quiz1和quiz2之间、quiz3和quiz4之间存在一些差异,但是这些差异在5%水平不是统计显著的。

示例2

需要用到consum2000, consum2010两个数据集,这个示例可以简单概括为比较2000年和2010年在食品(Food)、衣物(Cloth)、居民数(Resid)、交通(TranC)以及教育(Educ)消费结构有无变化。令

μ1 = mean(Food.2010 – Food.2000);

μ2 = mean(Cloth.2010 – Cloth.2000);

μ3 = mean(Resid.2010 – Resid.2000);

μ4 = mean(TranC.2010 – TranC.2000);

μ5 = mean(Educ.2010 – Educ.2000).

多元正态分布的定义(多元统计分析经典例题)

代码实现:

# 引入第三方库
import numpy as np
import pandas as pd
from scipy import stats


# 导入数据
consum00 = pd.read_csv("consum2000.csv")
consum10 = pd.read_csv("consum2010.csv")


# 计算2010年支出份额
data10 = consum10.iloc[:, 1:9]
sum10 = data10.sum(axis=1)
X = data10.div(sum10, axis='rows')
print(X)


# 计算2000年支出份额
data00 = consum00.iloc[:, 1:9]
sum00 = data00.sum(axis=1)
Y = data00.div(sum00, axis='rows')
print(Y)


# 求X与Y之差
XY_d = np.c_[X.iloc[:, 0:3]-Y.iloc[:, 0:3], X.iloc[:, 5:7]-Y.iloc[:, 5:7]]
XY_d = pd.DataFrame(XY_d, columns=('Food', 'Cloth', 'Resid', 'TranC', 'Educ'))
# 计算样本均值
d_mean = XY_d.mean()
print(d_mean)
# 计算样本协方差阵
d_S = XY_d.cov()


# 计算样本大小
n = np.shape(XY_d)[0]
# 计算变量数
p = np.shape(XY_d)[1]


# 计算 Hotelling's T 统计量
T2 = n * np.dot(np.dot(d_mean.T, np.linalg.inv(d_S)), d_mean)
Tstar2 = ((n-p)/(p*(n-1)))*T2


# 计算p值
p_value = 1 - stats.f.cdf(Tstar2, p, n-p)
print('p_value:', p_value)

输出结果:

p_value: 7.460698725481052e-14

可见p值近似为0,拒绝原假设,说明2000年与2010年的消费结构发生了明显的变化。

秒鲨号所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈!本站将在三个工作日内改正。
(0)

大家都在看

  • 网站推广服务怎样收费(太原网站推广服务)

    如今越来越多的企业和个人选择通过网络营销去获取客源,最大的一个原因就是因为它精准!相对于传统的媒体广告来说网络营销有更确切的效果和回报。而且能做到客户找你的时候能有及时回复!很多企…

    2022年6月6日
  • 如何增强记忆力(如何增强记忆力和注意力)

    给您提个醒【40种增强记忆力的方法!】人经常性熬夜损伤大脑办理案件,参加法考,考法硕,记忆力都是必需的!推荐给法律人!@济南中院 声明:转载此文是出于传递更多信息之目的。若有来源标…

    2022年6月13日 投稿
  • 幼儿成语故事100篇大全(适合幼儿园简短成语故事)

    1、专心致志 古时候有个围棋高手,名叫秋,人们称他弈秋。他有两个徒弟,其中一个专心好学,棋艺提高很快;另一个虽然也天天听课,但很不专心。他看着老师,心里却想着天上有没有大雁飞来,老…

    2022年5月19日
  • 个人如何开增值税专票(个体能开增值税专票吗)

    对于企业来说,没有发票寸步难行!但是,企业有的时候,也不得不雇佣个人完成一些事情。在这样的情况下,企业索要发票的事,就成了,自然人的“痛点”! 个人怎么开增值税专用发票? 个人不能…

    2022年5月31日 投稿
  • 一千元以内性能好点智能机有哪些(一千元以内的洗衣机哪个好)

    1000元内没有好手机?2022千元机首选这3款,每一款都强烈推荐 本文原创,禁止搬运和抄袭,违者必究! 导语:说起来,消费者对于“千元机”的概念从过去“1000元以下”的手机到如…

    2022年6月6日 投稿
  • ba系统是什么?什么是楼控BA系统

    ba系统是什么(什么是楼控BA系统)一,楼宇自控BA系统基本概念 楼宇自控系统是建筑设备自动化控制系统的简称。建筑设备主要是指为建筑服务的、那些提供人们基本生存环境(风、水、电)所…

    2022年5月24日
  • 微信小程序十大排行榜(硬核又实用)

    我发现大家都喜欢用小程序,可能是因为无需安装就能使用,比较方便。今天我就来分享9个暗藏惊喜的微信小程序,硬核又实用,还请大家低调使用。   01*百科知识词典特色:在线版…

    2022年4月2日 投稿
  • 哪里能借到钱(什么地方能借钱)

    前言 前不久讲了一期关于征信花了的事,后台又收到无数小伙伴问我,说自己征信不好,还能借到钱吗?一把鼻涕一把泪的,让人闻者伤心听者流泪。 今天小编要和你们好好掰扯掰扯这件事! 首先我…

    2022年5月28日
  • 如何打坐(如何打坐练气吐纳视频)

    盘腿打坐是很好的一种静态健身方式,对于身体气血运行和心理健康都有很好帮助,而且是好多动态健身不容易达到的效果,同时也能促进动态健身更好的进步。当然现实社会喜欢打坐的朋友也越来越多,…

    2022年6月10日 投稿
  • 哪个工作平台找工作靠谱(网上的招聘平台靠谱吗)

    一不小心就想跳槽了,很多人关心网上的招聘平台靠谱吗,找工作哪些平台更好,下面说一下找工作时哪些平台更好,哪个工作平台找工作靠谱!! 平时找工作除了靠人脉内推,就是在招聘网站上找,现…

    2022年2月23日
品牌推广 在线咨询
返回顶部