python 写的对于单个表格做时间滞后性质的分析

Python滞后相关系数(Lagged correlation)代码分享,气象相关 最近研究南海海温时用到了这个,向大家进行一个代码分享 需要:catorpy,numpy,scipy import matplotlib.pyplot as plt import numpy as np from scipy.stats import pearsonr def LCC(data1, data2, n, path): # 作滞后相关,n>0时,data2先于data1发生 # 如data2为海温,data1为降水,n为1——>LCC为海温关于当年降水和来年降水的相关 阅读详情

python 写的对于单个表格做时间滞后性质的分析

1、注意

1)单个表格需要是两列数据(x,y)
2)不能有标题行
3)代码实现了x对y序列的时间滞后分析,改一下顺序便可以做y对x
4)本人在另外一篇博客中有批量读取excel文件的介绍批量读取excel文件

2、时间滞后的计算原理

1)参考以下文献
[1]韦振锋,任志远,张翀.气候因子与植被的时滞相关分析——以广西为例[J].生态环境学报,2013,22(11):1757-1762.
2)calculater函数便是将时间滞后原理编码实现


import xlrd
import xlwt
import math

def read_excel_xls(path):
    workbook = xlrd.open_workbook(path)
    sheets = workbook.sheet_names()
    worksheet = workbook.sheet_by_name(sheets[0])
    fatherList = list()
    for i in range(0,worksheet.nrows):
        List1 = list(worksheet.row_values(i))
        fatherList.append(List1)
    print("成功打开表格!")
    print("--------------------------------------------------------")
    return fatherList

def calculate(ListX,ListY,n,k_range):
    DictResults = {}
    for k in range(0,k_range + 1):
        print("当k值取"+ k + "时")
        #y的平均值
        sum_Ytk = 0
        for t in range(1,n-k+1):
            sum_Ytk = sum_Ytk + ListY[t+k-1]
        average_Ytk = (1/(n-k)) * sum_Ytk
        print("Y的平均值值是:" + average_Ytk)

        #x的平均值
        sum_Xt = 0
        for t in range(1,n-k+1):
            sum_Xt = sum_Xt + ListX[t-1]
        average_Xt = (1/(n-k)) * sum_Xt

        #theta_Yk
        sum_Ytk_Ytk = 0
        for i in range(1,n-k+1):
            sum_Ytk_Ytk = sum_Ytk_Ytk + math.pow((ListY[i+k-1] - average_Ytk),2)
        theta_yk = math.sqrt((1/(n-k)) * sum_Ytk_Ytk)

        #theta_x
        sum_xk_xk = 0
        for i in range(1,n-k+1):
            sum_xk_xk = sum_xk_xk + math.pow((ListX[i-1] - average_Xt),2)
        theta_x = math.sqrt((1/(n-k)) * sum_xk_xk)

        #Ck
        sum_xy = 0
        for i in range(1,n-k+1):
            sum_xy = sum_xy + (ListX[i-1] - average_Xt) * (ListY[i+k-1] - average_Ytk)
        Ck = (1/(n-k)) * sum_xy

        #Pk
        Pk = Ck / (theta_x * theta_yk)
        DictResults[k] = Pk
    print("计算完成")
    print("--------------------------------------------------------")
    return DictResults

def wirte_excel_xls(path,sheet_name,dict):
    row = 0
    col = 0
    workbook = xlwt.Workbook()
    sheet = workbook.add_sheet(sheet_name)
    for key in dict.keys():
        sheet.write(row, col, key)
        sheet.write(row, col + 1, dict[key])
        row += 1
    workbook.save(path)
    print("写入数据成功")


print("----------------Start----------------------------------")
xls_file_name = "Your excel file" #数据输入准备
fatherList = read_excel_xls(xls_file_name)
List1 = fatherList[0]
print("列表1的数值是:" + List1)
List2 = fatherList[1]
print("列表2的数值是:" + List2)
n = len(List1)
print("时间序列的长度值是:" + n)
k_range = int(n/4)
print("K值的范围值是:" + k_range)

DictResults = calculate(List1,List2,n,k_range)                    #数据计算
print("输出结果")
print(DictResults)

output_file_path = ""
wirte_excel_xls(output_file_path,"result",DictResults)
print("-----------------End-----------------------------------")








时间序列五大核心性质:趋势、季节性、结构性突变、随机扰动与自相关性 时间序列数据是现实世界最基础的数据形态,其本质在于时间戳标记下的有序观测与前后依赖关系。理解其核心原理——趋势反映长期方向性变化,季节性体现固定周期律动,结构性突变揭示机制性断层,随机扰动承载不可预测噪声,而自相关性则刻画数据‘记忆力’这一根本特征——是构建可靠预测模型的前提。这些性质共同决定了ARIMA、STL分解、SARIMA、TBATS等主流方法的技术选型与调优逻辑。在电商销量预测、电力负荷调度、设备故障预警等高频工业场景中,准确识别并建模这五大性质,可显著降低预测误差、提升区间可靠性,并支撑从被动响 阅读详情

相关推荐

MATLAB与Python数据科学实战对比:从Kaggle竞赛看工具生态选择

在数据科学和机器学习领域,选择合适的工具生态是项目成功的关键因素之一。从技术原理上看,不同工具的设计哲学决定了其适用场景:一体化集成环境强调开箱即用的效率,而模块化架构则提供了灵活组合的扩展能力。这种差异直接体现在技术价值上,一体化工具在特定领域的深度优化和工程验证方面表现突出,而模块化生态则在快速迭代、社区协作和前沿技术采纳方面更具优势。在实际应用场景中,数据科学项目通常涉及数据获取、特征工程、模型训练和部署等多个环节,每个环节对工具的要求各不相同。例如,在需要高度专业化仿真和硬件集成的工程领域,一体化工

weixin_30378623的博客 373

时间序列预测中的数据分析->周期性、相关性、滞后性、趋势性、离群值等特性的分析方法

本篇文章给大家介绍的是,当我们在进行有关时间序列相关的工作或者实验时,需要对数据进行的一些数据分析操作(包括周期性、相关性、滞后性、趋势性、离群值等等分析)的方法。在本篇文章中会以实战的形式进行讲解,同时提供运行代码和运行结果图片,同时如果大家是数据方面的初学者这篇文章不仅会带你学习一些数据分析的相关操作,也会带大家对于数据分析和时间序列的建模有一个理解。本文的讲解路径如下->适用对象->数据相关的工作者或学习者我们下面分析用到的数据集如下->数据集的获取方式在我的CSDN上传里面有大家可以自行下载。

Snu77的博客 2万+

时间序列—显著相关性和滞后性分析_python

本文讲述了两个时间序列(信号)的相关性分析,可以利用相关性分析进行特征筛选。此外本文还讲了怎么判断时间序列的滞后性的方法。

qq_34229228的博客 2万+

python时间序列滞后命令,时间序列在Python中的时间延迟嵌入

I have Time series data as numpy array. I want to generate Time delay embedding of data like this:Time Series is like this:[[ 1. 37.17][ 2. 36.99][ 3. 36.84][ 4. ...

weixin_33594195的博客 881

matlab滞后系数代码-time_series_matlab:我用来估算VAR的Matlab代码

matlab滞后系数代码Matlab:registered:的时间序列工具箱 我用来估计向量自回归(VAR)的Matlab代码。 我可能永远不会认真对待这段代码... 用法 下载var_lib文件夹,让Matlab看到它。 VAR.m :给定一个T x N数据集,其中T是随时间的观察数, N是变量的数,此函数返回系数B的估计矩阵和VAR( p的估计方差-协方差矩阵S ) 规格。 如果VAR的滞后阶次p大于1,则B和S是伴随形式矩阵。 IRF.m :给定估计的B和S并采用正交化方案( short-run或long-run ),可计算前h周期的冲激响应函数(IRF)。 最终用户不应该直接使用文件夹中的其他功能。 也就是说,它们是辅助功能,可以在后台进行繁重的工作。 简而言之,他们利用配套表格表示形式进行必要的矩阵处理,以准备用于VAR估计的数据集。 唯一的通用函数是ols.m ,这几乎是不言自明的。 发展状况 IRF函数适用于1阶的VAR。该函数已经可以通过伴随形式处理高于1的滞后阶,但是它不能以良好的“包”形式提取IRF。 IRF功能当前仅支持short-run Cholesky识别方案。 要做的 为IRF置

波克 上海 Unity开发笔试题 2024

主要分为四部分,如果没有准备好,不要点击笔试链接,进入就会自动开始。

z2014z的博客 3380

【代码片段】使用Python进行信号互相关分析与时延计算

本文将介绍如何使用Python进行两个信号的互相关分析,以计算它们之间的时延,并展示如何通过麦克风阵列对声源进行定位。通过计算两个信号的互相关,可以确定它们之间的时间延迟。对于麦克风阵列声源定位,多个麦克风接收到的信号会有不同的到达时间,通过计算这些时间差,可以推算出声源的位置。首先,我们生成两个振弦信号,一个是原始信号,另一个是延迟后的信号。在麦克风阵列中,每个麦克风接收到的信号会有不同的到达时间。互相关的峰值位置对应于两个信号之间的时间延迟。通过找到互相关的最大值位置,我们可以计算出两个信号的时延。

fengle_er的博客 2066

孟德尔随机化(三)—— 再也不用担心网络或其他各种报错啦 | 从数据库下载数据到本地的数据处理方法

很多小伙伴们反映在使用代码下载数据时会遇到各种网络或其他报错问题,令人头大的那种!不要慌!从数据库下载数据到本地的数据处理方法这就来啦!

weixin_43843918的博客 2万+

时间序列数据分析与预测之Python工具汇总

来源:数据STUDIO本文中,作者硬核总结了十多种时间序列数据分析和预测工具和python库,在我们处理时间序列项目时,可以翻开本文,根据需要选择合适的工具,将会事半功倍!在处理时间序列项目时,数据科学家或 ML 工程师通常会使用特定的工具和库。或者他们使用一些众所周知的工具,而这些工具已被证明可以很好地适用与对应的时间序列项目。如果能将这些工具汇总,在以后的项目中将会很...

Python数据之道 3106

【Java核心高阶进阶】44-Java8核心新特性

模块十:Java新特性演进 · 第 1 篇Java 8 是 Java 语言历史上最重要的一次发布,它引入的函数式编程范式从根本上改变了 Java 的编码方式。即便到了 JDK 21 的今天,Lambda、Stream、Optional 仍是日常开发的高频工具。本篇将深入这些特性的语法、原理与底层机制,帮助你不仅会用,更知其所以然。

gaochufukanyongren的博客 20

Claude Code(1):手把手教你安装配置 Claude Code

Claude Code 是一款强大的 AI 编程助手工具,能够帮助开发者提升编码效率。本文将详细介绍如何在不同操作系统上安装和配置 Claude Code,让你快速上手这款工具。

blues_C的博客 729

Python面板时间序列数据预测:格兰杰因果关系检验Granger causality test药品销售实例与可视化

原文链接:http://tecdat.cn/?p=23940 原文出处:拓端数据部落公众号 时间序列是以固定时间区间记录的观察序列。本指南带你完成在Python中分析一个给定的时间序列的特征的过程。 内容 什么是时间序列? 如何在 Python 中导入时间序列? 什么是面板数据? 时间序列的可视化 时间序列中的模式 加法和乘法的时间序列 如何将一个时间序列分解成其组成部分? 平稳的和非平稳的时间序列 如何使一个时间序列成为平稳的? 如何测试平稳性? 白噪声和平稳...

大数据部落 6577

在实车上进行lio-sam测试

PS:将雷达和imu相对固定后,拆下来,原地晃啊晃,直到xyz进度达到百分百,参考gif。标定完成后,会在result文件夹下生成result.txt。

如果想成为中心,那么就到中心去吧。 988

Python面板时间序列数据预测:格兰杰因果关系检验Granger causality test药品销售实例与可视化...

原文链接:http://tecdat.cn/?p=23940时间序列是以固定时间_区间_记录的观察序列。本指南带你完成在Python中分析一个给定的时间序列的特征的过程。内容什么是时间序列?如何在 Python 中导入时间序列?什么是面板数据?时间序列的可视化时间序列中的模式加法和乘法的时间序列如何将一个时间序列分解成其组成部分?平稳的和非平稳的时间序列如何使一个时间序列成为平稳的?如何测试平稳性...

拓端研究室TRL 1080

手把手入门YOLO到改进优化教程 | 【P2基础篇】数据标注+环境搭建+模型训练

本节以 YOLO自定义目标检测训练为主线,带你从零开始完成 数据标注 → 环境搭建 → 模型训练 → 结果的流程。使用labelImg制作符合YOLO格式的自定义数据集。在Windows基于 Python + Conda 创建独立虚拟环境,安装 PyTorch + CUDA + ultralytics,配置 PyCharm 运行环境。本节不仅使用自定义数据集进行演示,同时也用公开数据集训练 YOLO,查看训练日志与可视化结果(PR、P/R/F1 曲线等)等。

嵌入式阿齐Archie 2万+

ATT MTU 交换机制:提升 BLE 数据传输效率的关键

在低功耗蓝牙(BLE)技术的面试中,ATT MTU 交换机制始终是高频考点。无论是芯片厂商的固件开发岗,还是物联网设备的协议栈调试岗,面试官都爱通过这个知识点考察候选人对 BLE 数据传输底层逻辑的理解。本文将系统梳理核心考点,结合历年真题详解应答思路,轻松应对这类问题。​

byte轻骑兵的技术小窝 2400

ARIMA-预测类时间序列模型

对于平稳时间序列yt,所谓滞后k偏自相关系数指在剔除了中间k-1个随机变量的干扰之后,yt-k对yt影响的相关。回到股票价格预测:ACF拖尾,PACF2阶截尾,所以用AR(1)或AR(2) 模型(查阅资料发现还有AR(2)区别不大),或ARIMA(1,0,0)模型。如图1, ACF为截尾,PACF为拖尾,依照表格为MA(q),q值判断:ACF图中超出标准差的阶数-1,所以q=2-1;如图2,ACF为拖尾,PACF为截尾,依照表格为AR(p),p值判断:PACF图中超出标准差的阶数,所以p=1;

Brooklynnnnnn的博客 2018

C#怼倍福TwinCAT3:ADS协议封装实战(附完整读写源码+避坑清单)

变量名大小写敏感:PLC里定义的是GVL.bStart,你写GVL.BStart绝对读不到;数组访问格式:PLC数组是,C#里读单个元素要写,读整个数组不用写索引;句柄要释放:用创建的句柄,一定要用using包起来,否则会占着资源;PLC必须运行:哪怕变量定义对了,PLC没Run(只是Login)也读不到数据;路由配置:如果上位机和PLC不在一个网段,要在TwinCAT3里添加路由(Router→Edit Routes)。倍福ADS通信其实不难,核心就是“配置对+变量名写对+数据类型匹配”。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 939

数据分析入门全链路:Excel/SQL/Tableau/Python免费课程与实战指南

这次我们来看一个面向数据分析初学者的免费自学课程合集。这个系列课程号称“最良心”,因为它完全免费,并且系统性地覆盖了从数据工具(Excel、SQL、Tableau、Python)到求职实战(简历、面试、大厂分析报告)的全链路技能。对于想转行数据分析、在校学生希望补充技能、或者业务人员想提升数据能力的读者来说,这是一个值得花时间评估的资源。 课程的核心价值在于其整合性。它不是零散的教程,而是将数据分析师岗位所需的四大核心工具(Excel、SQL、Tableau、Python)与求职、报告制作等软技能打包在一起

weixin_34401479的博客 470

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

数据分析第一讲:数据分析概述

当今世界对信息技术的依赖程度在不断加深,每天都会有大量的数据产生,我们经常会感到数据越来越多,但是要从中发现有价值的信息却越来越难。这里所说的信息,可以理解为对数据集处理之后的结果,是从数据集中提炼出的可用于其他场合的结论性的东西,而从原始数据中抽取出有价值的信息的这个过程我们就称之为数据分析,它是数据科学工作的一部分。数据分析是有针对性的收集、加工、整理数据并采用统计、挖掘等技术对数据进行探索、分析、呈现和解释的科学。

weixin_46863529的博客 1572

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

数据分析概述、Conda环境搭建及JupyterLab的搭建

数据分析conda环境搭建、 JupyterLab搭建

LittleComputerRobot的博客 1475

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

《Python 应用机器学习:代码实战指南》笔记35 时序数据建模:机器学习中的时间洞察与预测

在数据科学实践中,时序分析无疑是最接近现实世界动态的领域之一。我们不是在处理静态的表格,而是在解读时间的流动。从趋势到季节,从自相关到预测模型,每一步都需要谨慎和耐心。学习时序分析不仅是掌握一门技术,更是提升“洞悉时间规律”的能力。掌握了这套方法,你就能更好地预测未来,在数据洪流中抢得先机。未来的数据领域,将属于那些能真正理解时间、驾驭时间的人。(本文内容基于Pyrcz, M.J., 2024,[e-book]. Zenodo. doi:10.5281/zenodo.15169138章节整理) (

感谢阅读 580

AI选址必修课:用GeoPandas做文化遗产冲突分析

地理空间数据分析是现代工程决策的重要支撑。在规划数据中心、智算中心等AI基础设施时,选址不仅涉及电力、网络与成本,还牵涉到不可逆的文化遗产空间。利用空间叠加分析,我们可以将地块边界与历史纪念地、陵园等敏感要素的缓冲区进行几何交集计算,量化冲突面积与风险等级,从而把模糊的定性讨论转化为可审计的工程输出。GeoPandas作为Python生态中强大的地理数据处理库,让开发者能够快速构建这样的合规初筛工具。这种方法适用于各类土地开发项目的前期评审,帮助团队在早期识别高风险地块,避免流程末端的舆论与合规危机。通过一

weixin_42551227的博客 345

Firebase AI SDK `Backend` 类完全解析:抽象 Gemini Developer API 与 Agent Platform 双后端配置体系

`Backend` 是 Firebase JS SDK 中 AI 模块(`@firebase/ai`,源码位于 [packages/ai](https://link.gitcode.com/i/4f16301803929c774fd42b5545fec1ec))的核心抽象基类,它把"AI 服务后端"这一概念封装为可配置、可扩展的类体系,让上层 API 无需关心底层请求细节。本文基于官方 API 参

gitblog_00263的博客 458
上一篇: python打开操作写入excel操作
下一篇: (E1)ENVI-met介绍及下载
IAMYSQ
博客等级 码龄9年 381粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IAMYSQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值