如何计算 pandas 中的滚动相关性:举例 您所在的位置:网站首页 pandas计算两列的相关性 如何计算 pandas 中的滚动相关性:举例

如何计算 pandas 中的滚动相关性:举例

2024-06-19 18:07| 来源: 网络整理| 查看: 265

如何计算 pandas 中的滚动相关性:举例经过 本杰明·安德森博 7月 27, 2023 指导 0 条评论

滚动相关性是滑动窗口上两个时间序列之间的相关性。这种类型的相关性的好处之一是您可以可视化两个时间序列之间随时间的相关性。

本教程介绍如何在 Python 中计算和可视化 pandas DataFrame 的滚动相关性。

如何计算 pandas 中的滚动相关性

假设我们有以下数据框,显示 15 个月内两种不同产品( x和y )销售的产品总数:

import pandas as pd import numpy as np #createDataFrame df = pd.DataFrame({'month': np. arange (1, 16), 'x': [13, 15, 16, 15, 17, 20, 22, 24, 25, 26, 23, 24, 23, 22, 20], 'y': [22, 24, 23, 27, 26, 26, 27, 30, 33, 32, 27, 25, 28, 26, 28]}) #view first six rows df. head () month xy 1 1 13 22 2 2 15 24 3 3 16 23 4 4 15 27 5 5 17 26 6 6 20 26

要计算 pandas 中的滚动相关性,我们可以使用Rolling.corr() 函数。

该函数使用以下语法:

df[‘x’].rolling(width).corr(df[‘y’])

金子:

df:数据框名称width:指定滑动相关窗口宽度的整数x, y:计算滑动相关性的两个列名

以下是如何使用此函数计算产品x和产品y之间销售额的 3 个月滚动相关性:

#calculate 3-month rolling correlation between sales for x and y df[' x ']. rolling (3). corr (df[' y ']) 0 NaN 1 NaN 2 0.654654 3 -0.693375 4 -0.240192 5 -0.802955 6 0.802955 7 0.960769 8 0.981981 9 0.654654 10 0.882498 11 0.817057 12 -0.944911 13 -0.327327 14 -0.188982 dtype:float64

此函数返回过去 3 个月两种产品销售额之间的相关性。例如:

第 1-3 个月销售额的相关性为0.654654 。第 2-4 个月的销售相关性为-0.693375。第 3-5 个月的销售相关性为-0.240192。

等等。

我们可以轻松调整这个公式来计算不同时间段的滚动相关性。例如,以下代码显示了如何计算两个产品之间的 6 个月销售额滚动相关性:

#calculate 6-month rolling correlation between sales for x and y df[' x ']. rolling (6). corr (df[' y ']) 0 NaN 1 NaN 2 NaN 3 NaN 4 NaN 5 0.558742 6 0.485855 7 0.693103 8 0.756476 9 0.895929 10 0.906772 11 0.715542 12 0.717374 13 0.768447 14 0.454148 dtype:float64

此函数返回过去 6 个月内两种产品销售额之间的相关性。例如:

1-6 月份销售额的相关性为0.558742 。第 2-7 个月的销售相关性为0.485855。第 3-8 个月的销售相关性为0.693103。

等等。

评论

以下是有关这些示例中使用的函数的一些注释:

宽度(即下拉窗口)必须等于或大于 3 才能计算相关性。您可以在此处找到 Rolling.corr() 函数的完整文档。其他资源

如何计算R中的滑动相关性如何在 Excel 中计算滚动相关性

关于作者安德森博本杰明·安德森博

大家好,我是本杰明,一位退休的统计学教授,后来成为 Statorials 的热心教师。 凭借在统计领域的丰富经验和专业知识,我渴望分享我的知识,通过 Statorials 增强学生的能力。了解更多

添加评论取消回复


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有