程序改编至 交叉谱程序
由于知识受限,不知对方所用语言,仅凭个人理解改编,如有错误之处望大家指出和谅解

函数定义

def spectrum(m,x1,x2):pi=3.1415926x1bar=x1.mean()x2bar=x2.mean()s1=math.sqrt(x1.var())s2=math.sqrt(x2.var())n=len(x1)result=pd.DataFrame()M=np.array(range(m+1))M.dtype = 'float32'B=M.copy()B[:]=1B[0],B[-1]=0.5,0.5R11=M.copy()R22=M.copy()R12=M.copy()R21=M.copy()P11=M.copy()P22=M.copy()P12=M.copy()Q12=M.copy()M=np.array(range(m+1))for later in range(m+1):x1_series1=x1[:n-later]x1_series2=x1[later:]x2_series1=x2[:n-later]x2_series2=x2[later:]R11[later]=((x1_series1-x1bar)/s1*(x1_series2-x1bar)/s1).sum()/(n-later)R22[later]=((x2_series1-x2bar)/s2*(x2_series2-x2bar)/s2).sum()/(n-later)R12[later]=((x1_series1-x1bar)/s1*(x2_series2-x2bar)/s2).sum()/(n-later)R21[later]=((x2_series1-x2bar)/s2*(x1_series2-x1bar)/s1).sum()/(n-later)for later in range(m+1):P11[later]=R11[0]+(R11*(1+np.cos(pi*M/m))*np.cos(later*pi*M/m)).sum()P22[later]=R22[0]+(R22*(1+np.cos(pi*M/m))*np.cos(later*pi*M/m)).sum()P12[later]=R12[0]+(0.5*(R12+R21)*(1+np.cos(pi*M/m))*np.cos(later*pi*M/m)).sum()Q12[later]=(0.5*(1+np.cos(pi*M/m))*np.sin(pi*later*M/m)*(R12-R21)).sum()result['周期']=np.around(2*m/(M+1),decimals=1)result['功率谱_X1']=B*P11/mresult['功率谱_X2']=B*P22/mresult['协谱']=B*P12/mresult['正交谱']=B*Q12/mresult['凝聚谱']=(P12**2+Q12**2)/(P11*P22)result['相位谱']=180/pi*np.arctan(Q12/P12)return result

调用

P12=pd.DataFrame()
Q12=pd.DataFrame()
R122=pd.DataFrame()
THITA=pd.DataFrame()
for i in range(16):for j in range(i+1,16):x=np_data1[:,i+1]y=np_data1[:,j+1]Result=spectrum(20,x,y)P12['{}_{}'.format(i+1,j+1)]=Result['协谱']Q12['{}_{}'.format(i+1,j+1)]=Result['正交谱']R122['{}_{}'.format(i+1,j+1)]=Result['凝聚谱']THITA['{}_{}'.format(i+1,j+1)]=Result['相位谱']Result.to_csv('F:\paper\dataset\PSD\data1\{}——{}.csv'.format(i+1,j+1),encoding='gbk')
P12.to_csv('F:\paper\dataset\PSD\data1\P12.csv',encoding='gbk')
Q12.to_csv('F:\paper\dataset\PSD\data1\Q12.csv',encoding='gbk')
R122.to_csv('F:\paper\dataset\PSD\data1\R122.csv',encoding='gbk')
THITA.to_csv('F:\paper\dataset\PSD\data1\THITA.csv',encoding='gbk')P12=pd.DataFrame()
Q12=pd.DataFrame()
R122=pd.DataFrame()
THITA=pd.DataFrame()
for i in range(5):x=np_data2[:,i+1]y=np_data2[:,6]Result=spectrum(39800,x,y)P12['{}'.format(i+1)]=Result['协谱']Q12['{}'.format(i+1)]=Result['正交谱']R122['{}'.format(i+1)]=Result['凝聚谱']THITA['{}'.format(i+1)]=Result['相位谱']Result.to_csv('F:\paper\dataset\PSD\data2\{}.csv'.format(i+1),encoding='gbk')
P12.to_csv('F:\paper\dataset\PSD\data2\P12.csv',encoding='gbk')
Q12.to_csv('F:\paper\dataset\PSD\data2\Q12.csv',encoding='gbk')
R122.to_csv('F:\paper\dataset\PSD\data2\R122.csv',encoding='gbk')
THITA.to_csv('F:\paper\dataset\PSD\data2\THITA.csv',encoding='gbk')

结果展示

交叉谱分析——Python相关推荐

  1. python k折交叉验证,python中sklearnk折交叉验证

    python中sklearnk折交叉验证 发布时间:2018-06-10 11:09, 浏览次数:492 , 标签: python sklearnk 1.模型验证回顾 进行模型验证的一个重要目的是要选 ...

  2. K折交叉验证-python

    1.Cross Validation (交叉验证) cross validation大概的意思是:对于原始数据我们要将其一部分分为train_data,一部分分为test_data.train_dat ...

  3. 交叉验证python代码_交叉验证以及python代码实现

    这篇文章介绍的内容是关交叉验证以及python代码实现 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 模型选择的两种方法:正则化(典型方法).交叉验证. 这里介绍交叉验证及其pyth ...

  4. k折交叉验证python代码_K折交叉验证法原理及python实现

    本文为原创文章,转载请注明出处! 在训练数据的过程或者参加数据比赛的时候,常常会遇到数据量不够大的情况,在一次比赛过程我学到一个小技巧-K折交叉验证法(k-fold CrossValidation), ...

  5. 交叉验证python代码_急!请教一个python里交叉验证的问题

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我对模型进行交叉验证: param_test = {'n_estimators':range(10,71,10)} gsearch1=GridSearch ...

  6. 机器学习-CrossValidation交叉验证Python实现

    版权声明:本文为原创文章,转载请注明来源. 1.原理 1.1 概念 交叉验证(Cross-validation)主要用于模型训练或建模应用中,如分类预测.PCR.PLS回归建模等.在给定的样本空间中, ...

  7. python kfold交叉验证_kfold交叉验证python

    我是python的初学者.我写了下面的函数来分区从csv文件读取的数据.索引生成没有错误,但是当我用这个索引拆分df时,结果是不正确的.我的代码怎么了?在def partition(k, number ...

  8. 交叉验证python_交叉验证

    交叉验证python Cross validation may be any of various model validation techniques that are used to asses ...

  9. 多目标进化算法——NSGA-II(python实现)

    目录 前言 NSGA-II 非支配排序 支配关系 非支配关系 非支配排序算法 算法思想 算法伪代码 伪代码释义 Python代码实现 过渡1 拥挤度距离排序 算法思想 算法伪代码 Python代码实现 ...

最新文章

  1. BIG DATA 大数据时代来临
  2. runnable和handler联合实现计时循环
  3. 泛华金控携手神策数据,赋能保险经代公司筑就全闭环智能营销
  4. python实现输出日历_python实例9:输出时间日期和当月日历
  5. 多租户数据库设计方法:独立数据库
  6. 本机上的ajax需要跨域吗,jQuery AJAX跨域
  7. python导入excel模块_Excel到python第一章python利用pandas和numpy模块导入数据
  8. Flex与.NET互操作系列文章索引
  9. php 获取子类的方法名,php获取分类下的所有子类方法
  10. nginx信号量(平滑重启/升级/重读日志)
  11. 《图解密码技术》笔记
  12. 手机录制视频然后一帧一帧分析
  13. C++基础课 5- 章
  14. [2022软工第三次作业]结对编程项目——最长英语单词链
  15. 虚拟试戴用时尚拉近了粉丝和剧中人的距离
  16. Shiro和Spring Security的简单对比
  17. 两端分散对齐怎么设置_Word文档两端对齐.分散对齐如何设置
  18. 【面试题】对闭包的理解?什么是闭包?
  19. C#实现ODBC驱动代码连接Sql Server数据库
  20. JavaRobot模拟键盘输入方法

热门文章

  1. 数据结构:假设有一个带头结点的单链表L,每个结点值由单个数字、小写字母和大写字母构成。设计一个算法将其拆分成3个带头结点的单链表L1、L2和L3,L1包含L中的所有数字结点,L2包含L中的所有小写字母
  2. 威联通NAS配置1.18.1Minecraft服务器
  3. 百度智能云BCC云服务器释放实例
  4. Netcdf4.4的安装过程(附netcdf4.1.3的安装过程)
  5. V 社秘密开发 Steam 跨系统兼容工具;甲骨文开源 GraphPipe,机器学习模型标准
  6. build gradle settings 设置、读取变量
  7. 牛客小白月赛7 谁是神箭手
  8. MyEclipse链接SQLSERVER数据库时18456的问题
  9. AMiner会议论文推荐第三十五期
  10. svn resolved filename or directory that gives trouble