📅  最后修改于: 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()
代码解释:
首先,我们使用 numpy.random.normal
函数随机生成了一组数据 data
,其均值为0,标准差为1,共有1000个数据点。
然后,我们使用 numpy.histogram
函数将数据 data
划分为40个区间,并计算每个区间内数据点的个数 values
。
接着,我们计算每个数值的频率 freq
,即每个区间内数据点个数与总数据量的比例,并计算出累积频率 cumulative_freq
,它是一个数组,其中每个元素表示小于或等于对应值的所有数据占总数据量的比例。
最后,我们使用 matplotlib.pyplot
库绘制累积频率曲线,横坐标为每个区间的数值大小 base
,纵坐标为相应的累积频率 cumulative_freq
。
运行上述 Python 代码后,可以得到以下的累积频率曲线:
从图中可以看出,该组数据的分布比较均匀,大约有50%的数据小于0,大约有90%的数据小于2。累积频率曲线可用于分析数据的分布情况和特征,帮助我们更好地理解和利用数据。