📜  累积频率曲线(1)

📅  最后修改于: 2023-12-03 15:11:35.095000             🧑  作者: Mango

累积频率曲线

累积频率曲线(Cumulative Frequency Curve, CFC),也称为累积分布函数(Cumulative Distribution Function, CDF),是描述一组数据在一定区间内的分布情况的一种方法。

绘制累积频率曲线

要绘制一个累积频率曲线,需要先计算每个数值的频率和累积频率。频率是指数据中一个数值出现的次数与总数据量的比例。累积频率是指小于或等于该数值的所有数据占总数据量的比例。计算出频率和累积频率后,将它们以数值大小为横坐标,以累积频率为纵坐标,连成一条曲线即可。

代码实现

以下是使用 Python 代码计算频率和累积频率,并绘制累积频率曲线的示例:

import numpy as np
import matplotlib.pyplot as plt

# 随机生成一组数据
data = np.random.normal(loc=0, scale=1, size=1000)

# 计算频率和累积频率
values, base = np.histogram(data, bins=40)
freq = np.cumsum(values) / len(data)
cumulative_freq = np.insert(freq, 0, 0)

# 绘制累积频率曲线
plt.plot(base, cumulative_freq, c='blue')
plt.xlabel('Values')
plt.ylabel('Cumulative Frequency')
plt.title('Cumulative Frequency Curve')
plt.show()

代码解释:

  1. 首先,我们使用 numpy.random.normal 函数随机生成了一组数据 data,其均值为0,标准差为1,共有1000个数据点。

  2. 然后,我们使用 numpy.histogram 函数将数据 data 划分为40个区间,并计算每个区间内数据点的个数 values

  3. 接着,我们计算每个数值的频率 freq,即每个区间内数据点个数与总数据量的比例,并计算出累积频率 cumulative_freq,它是一个数组,其中每个元素表示小于或等于对应值的所有数据占总数据量的比例。

  4. 最后,我们使用 matplotlib.pyplot 库绘制累积频率曲线,横坐标为每个区间的数值大小 base,纵坐标为相应的累积频率 cumulative_freq

可视化效果

运行上述 Python 代码后,可以得到以下的累积频率曲线:

Cumulative Frequency Curve

从图中可以看出,该组数据的分布比较均匀,大约有50%的数据小于0,大约有90%的数据小于2。累积频率曲线可用于分析数据的分布情况和特征,帮助我们更好地理解和利用数据。