时间序列数据:如何找到一个值的平均重复率?

时间:2019-03-22 01:31:34

标签: python python-3.x matlab statistics

我用Matlab分析了全球表面温度的时间序列数据。在分析了全球表面温度的时间序列数据之后,我发现在一定的持续时间内,某些温度值已经重新出现,我对其进行了分组,然后使用gscatter函数在散点图上进行绘制!

我需要一些帮助来确定地球温度达到5.6度的速率是多少?我的目的是找到此事件的发生率,以便我可以从统计角度说在不久的将来下一次预期发生该事件的时间!

结果:

scatter plot showing temperature range in groups

数据:

years that had a temperature of 5.6 degrees

Data = [ 1750 5.6
         1765 5.6
         1774 5.6
         1777 5.6
         1786 5.6
         1800 5.6
         1818 5.6
         1821 5.6
         1847 5.6
         1870 5.6
         1887 5.6
         1897 5.6
         1916 5.6
         1920 5.6
         1961 5.6
         1978 5.6
         1991 5.6 ];

1 个答案:

答案 0 :(得分:0)

使用MATLAB的解决方案可能如下(代码段)。您可以使用5.6度确定年份之间的间隔。然后,您只需计算这些间隔的平均值和标准偏差。我无法确定这是否是有意义的(统计)度量,但是您可以在上述间隔内计算任何其他度量。箱形图只是可视化,间隔的分布范围很广。

% Input.
Data = [ 1750 5.6
         1765 5.6
         1774 5.6
         1777 5.6
         1786 5.6
         1800 5.6
         1818 5.6
         1821 5.6
         1847 5.6
         1870 5.6
         1887 5.6
         1897 5.6
         1916 5.6
         1920 5.6
         1961 5.6
         1978 5.6
         1991 5.6 ];

% Calculate intervals between years.
intYear = diff(Data(:, 1));

% Boxplot (requires Statistics and Machine Learning Toolbox).
% Mean and standard deviation of intervals in title.
figure(1);
boxplot(intYear);
xlim([0 2]);
title(['Mean: ' num2str(mean(intYear)) ' years, Standard deviation: ' num2str(std(intYear)) ' years']);

输出:

Output