预测概率

Predicting probabilities

我有一个由向量​​组成的时间序列数据

v=(x_1,…, x_n) 

二元分类变量和四种结果的概率

p_1, p_2, p_3, p_4. 

给定一个新的分类变量向量,我想预测概率

p_1,…,p_4

概率与

很不平衡
p_1>.99 and p_2, p_3, p_4 < .01.

例如

v_1= (1,0,0,0,1,0,0,0) , p_1=.99, p_2=.005, p_3=.0035, p_4= .0015 
v_2=(0,0,1,0,0,0,0,1), p_1=.99, p_2=.006, p_3=.0035, p_4= .0005
v_3=(0,1,0,0,1,1,1,0), p_1=.99, p_2=.005, p_3=.003, p_4= .002
v_4=(0,0,1,0,1,0,0,1), p_1=.99, p_2=.0075, p_3=.002, p_4= .0005

给定一个新向量

v_5= (0,0,1,0,1,1,0,0) 

我要预测

p_1, p_2, p_3, p_4.

我还应该注意,新向量可能与输入向量之一相同,即

v_5=(0,0,1,0,1,0,0,1)= v_4.

我最初的方法是将其转化为 4 个回归问题。

第一个会预测 p_1,第二个会预测 p_2,第三个会预测 p_3,第四个会预测 p_4。问题是我需要

p_1+p_2+p_3+p_4=1 

我不是在分类,但我是不是也应该担心概率不平衡。欢迎任何想法。

您将此视为多重问题 + 最终归一化的建议有一定道理,但众所周知,在许多情况下它是有问题的(例如,参见 masking 的问题)。

您在这里描述的是multiclass (soft) classification, and there are many many known techniques for doing so. You didn't specify which language/tool/library you're using, or if you're planning on rolling your own (which only makes sense for didactic purposes). I'd suggest starting with Linear Discriminant Analysis which is very simple to understand and implement, and - despite its strong assumptions - is known to often work well in practice (see the classical book by Hastie & Tibshirani)。


无论您使用何种底层算法进行软二进制分类(例如,LDA 与否),将聚合输入转换为标记输入并不是很难。

以实例为例

v_1= (1,0,0,0,1,0,0,0) , p_1=.99, p_2=.005, p_3=.0035, p_4= .0015 

如果您的分类器支持实例权重,则为其提供 4 个实例,标记为 1、2、...,权重由 p_1p_2, ..., 分别.

如果它不支持实例权重,只需模拟大数定律所说的情况:从这个输入生成一些大的 n 实例;对于每个这样的新输入,根据其概率随机选择一个标签。