python 典型变量分析

article/2025/8/14 17:00:05

典型相关分析

1.典型相关分析的基本思想是首先在每组变量中找出变量的线性组合,使其具有最大相关性,然后再在每组变量中找出第二对线性组合,使其分别与第一对线性组合不相关,而第二对本身具有最大的相关性,如此继续下去,直到两组变量之间的相关性被提取完毕为止.有了这样线性组合的最大相关,则讨论两组变量之间的相关,就转化为只研究这些线性组合的最大相关,从而减少研究变量的个数.






#典型变量分析得到第一典型变量
def CAA(X,Y):R= corrcoef(X,Y,rowvar=0)m, n = shape(X)p, q = shape(Y)# print(m,n)# print(p,q)R11=[]R22=[]R12=[]#计算相关系数for i in range(n):temp=R[i]a=temp[0:n]R11.append(a)for j in range(n,n+q):temp=R[j]a=temp[n:n+q]R22.append(a)for s in range(n):temp=R[s]a=temp[n:n+q]R12.append(a)R11=matrix(R11)R22 = matrix(R22)R12 = matrix(R12)R21=R12.T#计算特征值与特征向量M=(R11.I)*(R12)*(R22.I)*(R21)eigVals, eigVects = linalg.eig(mat(M))  # 计算特征值和特征向量eigValInd = sorted(eigVals,reverse=True)  # 对特征值eigVals从大到小排序sorted_indices = np.argsort(-eigVals)#根据特征值的顺序排列相应的特征向量topk_evecs = eigVects[:, sorted_indices[:]]eig=sqrt(eigValInd)#计算特征值开平方# print("特征值开方=",eig)#计算第一对典型变量的相应的系数k,l=shape(topk_evecs)cout_t=[]for i in range(l):t=1.0/((topk_evecs[:,i].T)*R11*(topk_evecs[:,i]))cout_t.append(t[0,0])# print("cout_t=", cout_t)tt=[sqrt(i) for i in cout_t]# print("tt=",tt)a1=tt[0]*topk_evecs[:,0]#第一个特征值开方所对应的特征向量p1=(1.0/eig[0])*(R22.I)*R21*a1#第一个特征值开方所对应的特征向量print("特征值开方=", real(eig[0]))# print("a1=",a1)# print("p1=",p1)# print("a1.shape=", shape(a1))# print("p1.shape=",shape(p1))#进行显著性检验U1 = []V1 = []A=1for i in range(len(eigVals)):A*=(1-eigVals[i])Q1=-(m-1-1.0/2*(n+q+1))*log(A)# print("Q1=",Q1)if Q1>7.81:# print("第一主成分为显著性关联")for i in range(m):temp1 = 0for j in range(n):temp1+=a1[j]*X[i,j]# print(temp1)U1.append(temp1[0,0])for i in range(p):temp2 = 0for j in range(q):temp2+= p1[j] * Y[i, j]V1.append(temp2[0,0])# print("U1,VI=",U1,V1)else:print("第一主成分不显著关联")# A2=1# for i in range(1,len(eigVals)):# 	A2*=(1-eigVals[i])# Q2 = -(m - 2 - 1.0 / 2 * (n + q + 1)+1.0/(sqrt(eig[0]))) * log(A2)# print("Q2=", Q2)# if Q2>37.65:# 	print("第二主成分为显著性关联")# else :# 	print("第二主成分不显著关联")## A3=1# for i in range(2,len(eigVals)):# 	A3*=(1-eigVals[i])# Q3= -(m - 3 - 1.0 / 2 * (n + q + 1)) * log(A3)# print("Q3=", Q3)# if Q3>26.3:# 	print("第三主成分为显著性关联")# else :# 	print("第三主成分不显著关联")return U1,V1,eig[0]


http://chatgpt.dhexx.cn/article/YPEM9ZgK.shtml

相关文章

脑影像分析|数据分析——单个变量或多个变量与y的皮尔逊相关,同时返回r与p值(python)

| 图源 皮尔逊相关是计算两个变量之间线性相关关系,或者两个向量共线程度的常用指标,应返回衡量相关程度的r值,和相关显著程度的p值。我们熟知的工具包,如pandas,numpy和scipy等,只能计算单个变量x与变量y之…

SPSS处理多自变量多因变量分析以及描述平均值,在不同情况

SPSS处理工具:SPSS25.0 准备好数据 1.分析多自变量对某一个因变量的显著性 在分析里找到,General linear model,然后选择Univariate, 分别把两个自变量TIssue and Speed 输入到Fixed Factor,然后设置Option里的描述,如果需要其他的设置可以…

R语言实现双变量分析教程

双变量分析表示分析两个变量。 双变量分析是为了分析两个变量之间的关系,与单变量、多变量分析对应。主要有三种方式进行双变量分析。 散点图相关系数简单线性回归 下面使用测试数据作为示例来演示三种方法,供包括两个变量,HourStudied表示…

spss实战案例----分析多个变量与因变量之间是否存在关系,方差分析

本案例是IBM SPSS数据分析与挖掘实战案例精粹----第七章的学习记录 案例背景或目标:激素水平是否在对照组和实验组之间存在差异 分析方法:Bootstrap抽样,秩和检验,秩变换方法,cox回归 字段包括:性别&…

Python学习16 ----Seaborn多变量分析绘图

Seaborn多变量分析绘图 代码详见https://github.com/RenDong3/Python_Note 1 读取数据 2 分析绘图 parameters: x,y,hue 数据集变量 变量名data 数据集 数据集名row,col 更多分类变量进行平铺显示 变量名col_warp 每行的最高平铺数 整数estimator 在每个分类中进行矢量到标…

用SPSS进行多变量数据分析

用SPSS进行多变量数据分析 1.将所给的数据输入SPSS 22.0中文版。分别设置变量为温度,体重1、2、3、4;体重,温度5、10、15、20、30。 2.用SPSS进行作图(过程略)。 3.对数据进行多因素变量分析,具体操作如…

解读SPSS多元方差分析中的多因素多变量的相互影响

多元方差分析研究的是多个自变量与多个因变量的相互关系,也被称为多变量分析。在《怎么使用SPSS的多元方差分析法》一文中,我们已经详细学习了IBM SPSS Statistics多元方差分析的设置方法。 本文将会重点介绍如何解读多元方差分析的检验结果。由于多元方…

高维数据中特征筛选方法的思考总结——多变量分析筛选法

前言:之前的文章(高维数据中特征筛选方法的思考总结——单变量分析筛选法)中,对单变量分析筛选变量进行了初步考量,本文将进一步总结多变量分析筛选法。由于本文多处摘录网上的博客,只是进行了归纳整理&…

R语言实现单变量分析教程

单变量分析是理解单个变量的数值分布情况,与之相对的有双变量分析和多变量分析。 加载示例数据 因为csv文件中年收入字段有千分位分隔符,所以先定义转换函数。 setClass("num.with.commas") setAs("character", "num.with.co…

多变量分析绘图及分类属性绘图【知识整理】

多变量分析绘图及分类属性绘图 综述代码模块多指标离散图绘制盒图violin图条形图点图多层面板分类图factorplot()详细说明 小结 综述 学生党整理一些关于数据分析的知识:整理了多变量分析绘图及分类属性绘图的相关代码。主要包括了多指标离散图的绘制、盒图的绘制、…

python多变量相关性分析_多变量相关性分析(一个因变量与多个自变量)

目录:前言 偏相关或复相关 意义与用途 分析方法: 1、 样本相关系数矩阵、相关系数检验 2、 复相关分析 3、 决定系数 (RMSE的介绍) 小结 一、前言: 继上一篇文章,继续探讨相关性分析,这次不再是两个变量,而是3个或者以上的变量之间的相关关系分析。 没读过上…

一文了解11个常见的多变量分析方法!

在社会科学研究中,主要的多变量分析方法包括多变量方差分析(Multivariate analysis of variance,MANOVA)、主成分分析(Principal component analysis)、因子分析(Factor analysis)、…

多变量分析”——数据挖掘、数据分析

I。多重对应分析 多重对应分析在超过两个以上定类变量时有时候非常有效,当然首先我们要理解并思考,如果只有三个或有限的几个变量完全可以通过数据变换和交互表变量重组可以转换成两个定类变量,这时候就可以用简单对应分析了。 对应分析对数据…

点赞、收藏必读文章--数据分析的多变量分析

数据探索性分析(EDA)——多(双)变量分析 0 引言 上一篇文章震惊!Python单变量分析竟然如此简单? 介绍了数据分析中的单变量分析,但是我们在实际场景中,遇到的数据大多数是具有多特征、多变量的,因此除了对单个变量进…

“多变量分析”——数据挖掘、数据分析

I。多重对应分析 多重对应分析在超过两个以上定类变量时有时候非常有效,当然首先我们要理解并思考,如果只有三个或有限的几个变量完全可以通过数据变换和交互表变量重组可以转换成两个定类变量,这时候就可以用简单对应分析了。 对应分析对数据…

Open source Python toolbox for seismology

Open source Python toolbox for seismology ObsPy: A Python Toolbox for Seismology https://www.iris.edu/hq/webinar/2015/05/obspy_a_python_toolbox_for_seismology https://github.com/obspy/obspy http://www.obspy.org → https://github.com/obspy/obspy/wiki 2.用p…

Xmy的Python----Numpy库

目录 例题10-1:创建数组并查看数组属性 构造复杂数组 生成随机数 例题10-2:绘制:随机生成10000数据,服从均值为0,方差为1的正态分布的直方图(间隔个数:50) 通过索引访问数组 数组的…

python3.8安装pysal库

python3.8 安装 pysal 库 我最后是在虚拟环境中测试成功的,在原来的环境中测试还是有问题,但是装这个库只是为了一个assignment,踩完坑来总结一下,先用上再说。 1. 创建虚拟环境 正常环境无论是conda install 还是 conda-forge …

YYlabelCopy

YYlabelCopy 前言 最近公司刷题项目重构,之前刷题是采用富文本渲染,性能极差,业界大神ibireme的YYKit想必大家都知道,YYText的好用之处我就不再赘述.一开始我们是把UIlabel换成YYTextView,为什么不直接换成YYlabel,YYlabel支持异步绘制,因为我们是做公考项目的,试题都要支持复…

Kong Customize Python Plugin

Kong Customize Python Plugin 前情提要:由于公司业务需求,需要针对 Kong 自定义插件,而 Kong 的插件主要是 Lua 语言,公司的技术栈是 Python,所以升级了 Kong 版本到 3.1。Kong3.1支持使用 Python 语言的插件&#xf…