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

关于本文多元正态分布推断(InferenceforaMultivariateNormalPopulation)理论参见《AppliedMultivariateStatisticalAnalysisandRelatedTopicswithR》第五章内容,书中提供了相关示例的R代码,对于偏爱Python的我,希望通过Python得到同样的结果。 数据集的获取网址:www.stat.ubc.ca/~la…

关于本文多元正态分布推断(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)。

基于Python实现多元正态分布推断

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

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).

基于Python实现多元正态分布推断

代码实现:

# 引入第三方库
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年5月11日 下午4:35
下一篇 2022年5月11日 下午4:35

相关推荐

  • 电信更换套餐(电信自助改套餐)

    昨天去营业厅看到一个新的电信套餐,169元的套餐居然比我199的套餐还要划算。我就咨询了下营业员说我不能改这个套餐只有新用户才能有这个优惠。这个优惠套餐是169元1张主卡2张副卡,1000兆宽带免费的1000分钟通话和60G全国流量还送个千兆路由器和门铃。我199的套餐是200兆宽带600分钟通话40G流量只是流量超过只是限速不收费以前的无限流量卡那种。在营业厅怎么说都不给我改,然后我登录天翼生活…

    2022年5月7日
    1660
  • 做家政需要什么条件啊,合格家政人员必备的10个条件

    2018年春晚的小品《真假老师》,贾玲饰演的家政保洁人员将行业同胞最真实的一面演绎的淋漓尽致。 还记得贾玲在小品中说道“专业的保洁还是很专业的”! 而小品中饰演小明爸爸说道“我们常年居住在国外,生活起居基本都靠家政“! 服从业主意愿 家政服务员到业主家后,一定要按照业主的意愿行事,主观意识不要太强。 尽量在最短的时间内了解用户生活习惯、饮食口味、爱好、起居作息时间、房间生活用品的放置等,切不可自作…

    2022年10月14日
    470
  • 怎么设计logo,手机logo在线制作步骤

    今天给大家分享四个logo设计的小技巧,不管你有没有做过logo设计,这4个步骤,让你设计出的标志有理有据。 4个LOGO设计流程 提取关键词头脑风暴LOGO形式确认配色打磨细节 提取关键词 接到LOGO需求时,先与对方沟通关键词,找出几个能够达成共识的关键词,再开始撸LOGO。关键词可以从产品属性,核心理念,应用场景,用户群体,情感传递等方面提取。 关键词直接影响并支撑着后续LOGO设计的形式,…

    2022年6月20日
    530
  • pdf编辑器哪个是免费的,13款免费的pdf编辑器推荐

    PDF是使用频繁的文档类型之一,它是商业中使用的首选文件。 工作上时常多次接触PDF文本内容的修改、格式(PPT转PDF、WORD转PDF或者合并PDF内容页面)转换、文本内容修改编辑工作、有时也拿PDF格式作为作品演示或预览,这样转换PDF的方式可以使它压缩的很小、内容更加简洁,查看也方便;在平常工作中你也时常遇到内容修改转换格式编辑工作,下面介绍13个在线PDF编辑网站,将提供您在工作上提高一…

    2022年8月2日
    3.8K0
  • 微型投影仪十大排名,2019微型投影仪评测

    今天就给大家介绍着10个投影品牌各自最热销的产品分别是什么。同时也可以说是最热销人气最高最受欢迎的投影仪! 第一款:极米H2 极米这个投影仪互联网品牌,近几年来以“无屏电视”自居在投影仪界打响自己的名号,也被众多用户认知,其本身的产品也非常不俗,就拿今年上半年上市的极米H2来说,就非常值得购买。极米H2拥有小201×201×135mm,重量2.5KG的机身,机身设计简单大方精致,百搭各种家庭设计风…

    2022年6月27日
    1140
  • 盘点网络推广的方法和技巧,3种最有效推广的方式

    网络推广的方法有以下几种:1.搜索引擎推广方法搜索引擎推广是指利用搜索引擎、分类目录等具有在线检索信息功能的网络工具进行网站推广的方法。由于搜索引擎的基本形式可以分为网络蜘蛛型搜索引擎(简称搜索引擎)和基于人工分类目录的搜索引擎(简称分类目录),因此搜索引擎推广的形式也相应地有基于搜索引擎的方法和基于分类目录的方法,前者包括搜索引擎优化、关键词广告、固定排名、基于内容定位的广告等多种形式,而后者则…

    2022年5月22日
    580
  • 什么叫市场营销,市场营销的核心与特征

    你真的知道什么是“市场”吗?你了解市场营销吗?如果你是一名市场营销专业人士,请关闭文章,无论你是否知道,都没有必要阅读它;如果你是一个外行人,但你仍然像一个外行人一样理解“市场”这个词,你需要两分钟来真正理解营销在营销中意味着什么。 市场营销在当今的商业环境中扮演着重要的角色,尤其是在中国这样一个快速增长和竞争日益激烈的市场中,如何赢得客户,保持和加强与客户的关系,最终为企业创造价值已经成为一个越…

    2022年6月17日
    1050
  • 阿迪耐克摆地摊的货源哪里来,关于阿迪耐克一手货源的详细介绍

    在丰富多元化的Sneaker市场里,其实存在很多真假难辨的球鞋,不由让人想到了众人口中所谓的“假鞋”——莆田鞋。而这个大家印象中的“假鞋之都”,真的都是Fake吗? 好看的球鞋源源不断,加上各大品牌的联名合作,使球鞋价格也一山更比一山高。因此,在资金有限的条件下,让性价比高的莆田鞋拥有了越来越多的购买者。 说到莆田鞋,大家的印象中还是那个低质量的“假鞋之都”,但其实它也并非像人们想象中的那样。接下…

    2022年8月30日
    540
  • lumix是什么牌子的相机(松下LUMIXS5相机评测)

    松下LumixS5同样的吸引着摄影师和摄像师。 松下有着3款全画幅LumixS相机,现在的这款LumixS5是第4款。其他三款都是定位于专业重量级,而这款LumixS5更小巧、更便宜、更灵巧。 LumixS5是一款定位中端的相机,比松下LumixS1系列的3款机器小得多,甚至比M43卡口的GH5更小! LumixS5有着压铸镁合金的机身,并且有防风雨密封固件。传感器与松下S1相同。 左GH5,中间…

    2022年10月24日
    390
  • 投影仪屏幕怎么调整大小,家庭影院幕布10大品牌

    【家庭影院网 www.hdav.com.cn】家庭影院投影机视频调校其实就是“拨乱反正”的工作,令家用投影机尽可能地还原成接近影视制作室监视器的画面,以及配合房间的环境来使用。完美的调校能极大地提高投影效果,发挥出其真正的实力。那么如何才能正确调校家庭影院投影机呢?下面就来简单讲解一下: 家用投影机调整的视频参数主要是对比度(Contrast)、亮度(Brightness)、色饱和度(Color)…

    2022年6月29日
    1030

发表回复

登录后才能评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信