在变量筛选中,通过衡量特征所包含信息量大小,决定是否删除特征,常用的指标有单一值占比、缺失值占比和方差值大小。
单一值或缺失值占比越高,表示特征包含信息量越少,不同公司设置不同阈值,一般单一值、缺失值占比高于95%,建议删除。
方差值越小,代表特征包含信息量越小。接下来详细阐述方差值的原理和Python计算代码。
什么是方差?
方差的计算公式
方差计算示例
计算方差Python函数
方差:衡量一组数据离散程度的统计量,它表示每个数据与这组数据平均数的差的平方的平均数。
方差越大,说明这组数据的离散程度越大。
假设有一组数据x1,x2,……,xn,这组数据的方差计算步骤如下:
step1:计算平均数(均值)
首先,计算这组数据的平均数(均值),公式为
其中,n是数据量,Σ是求和符号。
step2:计算方差:
然后,利用平均数,计算方差,公式为
表示每个数与平均数的差的平方之和,再除以n得到方差,这种计算方式也称总体方差。
在某些情况下,特别是样本方差(用于估计总体方差时),分母使用n-1而不是n,这是为了进行无偏估计。
因此,样本方差公式写为:
三、方差计算示例 假设有一组数据2,3,4,5,6,想计算其方差,具体步骤如下:
step1:计算平均数:
step2:计算总体方差(使用n作为分母):
如果使用n-1作为分母(样本方差):
四、方差计算Python函数 假设有一组数据2,3,4,5,6,想计算其总体方差,代码如下:
#计算总体方差
def population_variance(data):
N = len(data)
mean = sum(data) / N
variance = sum((x - mean) ** 2 for x in data) / N
return variance
# 示例数据
data_list = [2, 3, 4, 5, 6]
population_variance(data_list)
得到结果:
2.0
如果想计算样本方差,代码如下: #计算样本方差
def sample_variance(data):
n = len(data)
mean = sum(data) / n
variance = sum((x - mean) ** 2 for x in data) / (n - 1)
return variance
# 示例数据
data_list = [2, 3, 4, 5, 6]
sample_variance(data_list)
得到结果:
2.5
如果是对入模变量计算方差,直接把单个特征看成一个列表即可。
至此,方差计算原理和代码已讲解完毕,对风控建模感兴趣的小伙伴欢迎加群讨论。
【部分群限时免费进】分群讨论学习Python、玩转Python、风控建模【29.9元进】、人工智能、数据分析相关问题,还提供招聘内推信息、优秀文章、学习视频、公众号文章答疑,也可交流工作中遇到的难题。如需添加微信号19967879837,加时备注想进的群,比如风控建模。
一文囊括风控模型搭建(原理+Python实现),持续更新。。。
限时免费加群
19967879837
添加微信号、手机号