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

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

相关推荐

  • 欧莱雅染发剂怎么样(绝对安全无毒的一款染发剂)

    继护肤、彩妆追求天然有机后,洗护产品也开始“着迷”此道。去年,欧莱雅旗下的大众品牌卡尼尔Garnier在美国推出了WholeBlends系列产品,其洗发水采用的正是橄榄油、鳄梨和枫木提取物等做主要成分。近日,欧莱雅又宣布将推出首款天然染发剂。 日前,欧莱雅集团推出首个全植物配方染发剂品牌Botanea,以迎合那些对产品中的化学成分越来越敏感消费者的需求。据悉,Botanea的原料来自三种在印度发现…

    2022年9月25日
    1020
  • dnf瞎子是什么职业,dnf2020赚钱攻略

    相信大家都对100级版本充满了期待,而在新的版本中大家都很想要知道到底是什么职业比较好用。其中辅助职业在国服中也是同样受欢迎的,但是很多人觉得纯C其实更强,而辅助34C真的是用处不大,但是等到这一次的100级版本之后,这几个34C还是不要忽略,随便一个就可能是幻神。 第一个就是剑魂,虽然他是一个名副其实的34C,但是在加强之后你们也看到了,完全就可以当做成纯C来玩了。这个实力剑魂还是有的,所以大家…

    2022年7月4日
    800
  • 尺换算厘米怎么算,史上最全尺寸换算表

    “形制”与“平方尺”之间有着某种行内约定俗成的换算关系,了解和掌握这种关系之间的换算,对投资购买名家书画将会有较大的帮助。 三尺全开:100×55三尺单条:100×27 三尺横批:100×55三尺对联:100×27 三尺斗方:55×50 四尺全开:138×69四尺单条:138×34 四尺横批:138×69四尺对联:138×34 四尺斗方:69×68四尺三开:69×46 四尺四开:69×34四尺六开…

    2022年10月13日
    620
  • 苹果误删短信怎么恢复,教你一个最简单的方法立马学会

    在使用手机时,你有没有发生过因为误操作删除重要的短信的呢?苹果如何恢复删除的短信一直是我们广大用户难以解决的一个难题,面对重要的短信误删,我们只能眼巴巴的看着么,今天我就要给大家分享苹果如何恢复删除的短信,希望可以帮到大家。 苹果如何恢复删除的短信呢?当然,我们不可能空手就能将删除的短信给恢复了,在恢复之前,我们需要了解一款数据恢复软件——互盾苹果恢复大师。这是一款苹果数据恢复软件,软件可以恢复i…

    2022年6月9日
    710
  • 东芝烤箱好不好用(深度测评烤箱的质量与功能)

    民以食为天,国人对饮食文化的追求一直没有停止过,如今随着生活水平的不断提高,大家更是想要变着花样吃美食。最近刚搬进新家,为了让家人可以吃到更多美食,专门添置了号称“一台顶N台”的东芝ER-SD80CNW微蒸烤一体机(文章中简称它为:东芝日本原装进口SD80微蒸烤一体机)。之所以选择东芝SD80微蒸烤一体机,看中的就是它丰富多样的功能以及直观的使用方式,只需要简单的操作便可以做出美味可口的大餐,敢问…

    2022年9月11日
    490
  • 电商怎么做营销推广,爆款营销推广模式介绍

    什么是营销计划? 营销计划是商家通过阿里妈妈平台设置单品推广的计划方案,商家可在确定时间段内设置佣金、推广券等利益点,平台分发给流量媒体进行推广。 为了更好地帮助商家做好淘宝客推广,2017年,阿里妈妈淘宝联盟,将致力于满足商家站外推广诉求,打造全新的商家营销联盟! 淘宝联盟2017商家营销元年,正式起航啦~ 淘宝联盟将从以下三方面进行全面升级: 参与更可控:全面整合商家推广计划,统一升级为营销计…

    2022年5月22日
    640
  • 网络购物平台有哪些,热门的网络购物平台排行榜

    2017年度网络购物app市场研究报告:手机淘宝稳居王座,拼多多成最大黑马。随着人们越来越习惯网络购物,网络购物无论在规模还是形式上都在飞速发展着。为了满足消费者的各种需求,网络购物被不断细分,不论是互联网巨头还是传统豪门都纷纷入局。 目前国内网络电商可主要分为七类:综合电商、母婴电商、生鲜电商、跨境电商、二手电商、折扣优惠、商家服务。移动支付方式的发展和国内外物流的完善是网络电商发展的重要支持性…

    2022年7月13日
    860
  • 玻璃门地弹簧怎么调,最简单玻璃门地弹簧调节方法解析

    如果你家也安装了玻璃门,一定不要忽视玻璃门地弹簧的安装。虽然这种门见到好看、轻盈干净而且用起来也很方便。如果有所损坏是更换新的还是如何修复?接下来就一起来看看玻璃门地弹簧调整方法有哪些吧? 一、玻璃门地弹簧是什么 地弹簧是一种闭门器,而这种闭门器在玻璃门中使用较多。玻璃门地弹簧也是一种液压式闭门器,其压紧弹簧的装置为蜗轮,主要是因为蜗轮可以正反向旋转,根据玻璃门地弹簧的特点,基本配置是天轴和地轴,…

    2022年9月20日
    4050
  • 经典品牌故事案例,不妨收藏起来慢慢看

    运营岗位之前普遍在互联网营销公司,但是随着互联网大数据时代的到来,运营岗位在各行各业都有身影,教育、婚庆、实业、店铺等等,都有运营岗位的身影。运营岗位通过细化还分为产品运营、内容运营、新媒体运营等,还有我们的品牌运营! 所谓品牌,其实定义很简单,就是通过标识、图案等形状,让用户快速识别企业、产品或服务,并形成认可或认同。 弄清楚了“品牌”的含义之后,我们再回过头来回答品牌运营是什么。品牌运营其实就…

    2022年10月8日
    370
  • 跨境电商运营做什么的,跨境电商运营前景

    1.产品 如非特殊模式如无货源模式,产品一定要是爆款,你可以跟风也可以自己营造爆款,但是一定要保证产品符合高利润,消费周期短,拥有完善的售后服务和和质量保证,在售出以后,以运输快,换货速度快,为主,简单说以服务客户为主。 2.商家 商家,我们将要通过国内淘宝、微商来进行对比,淘宝和跨境电商相似,依托平台生存,为啥微商则相反,跳出平台,独自运营。 跨境电商和国内电商群唯一的差距——信息差。

    2022年6月24日
    650

发表回复

登录后才能评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信