Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 使用购买频率加权品牌熵_R_Math_Entropy - Fatal编程技术网

R 使用购买频率加权品牌熵

R 使用购买频率加权品牌熵,r,math,entropy,R,Math,Entropy,我有一份每位客户的购买清单,我正在努力确定品牌忠诚度。根据这个列表,我计算了每个客户的品牌熵,我用它来衡量品牌忠诚度。例如,如果客户只购买品牌a,那么他们的熵将为0,并且他们非常忠诚于品牌。但是,如果客户购买品牌a、品牌b和其他品牌,那么他们的熵会很高,而且他们对品牌的忠诚度不高 # Dummy Data CUST_ID <- c("c_X","c_X","c_X","c_Y","c_Y","c_Z") BRAND <- c("brand_a","brand_a","brand_a"

我有一份每位客户的购买清单,我正在努力确定品牌忠诚度。根据这个列表,我计算了每个客户的品牌熵,我用它来衡量品牌忠诚度。例如,如果客户只购买品牌a,那么他们的熵将为0,并且他们非常忠诚于品牌。但是,如果客户购买品牌a、品牌b和其他品牌,那么他们的熵会很高,而且他们对品牌的忠诚度不高

# Dummy Data
CUST_ID <- c("c_X","c_X","c_X","c_Y","c_Y","c_Z")
BRAND <- c("brand_a","brand_a","brand_a","brand_a","brand_b","brand_a")
PURCHASES <- data.frame(CUST_ID,BRAND)

# Casting from PURCHASES to grouped_by CUST_ID
library(plyr)
library(dplyr)
library(data.table)
ENTROPY <- PURCHASES %>%
  group_by(CUST_ID, BRAND) %>%
  summarise(count = n()) %>%
  dcast(CUST_ID ~ BRAND, value.var = "count")
ENTROPY[is.na(ENTROPY)] <- 0

# Calculating Entropy
library(entropy)
ENTROPY$entropy <- NA
for (i in 1:nrow(ENTROPY)){
  ENTROPY[i,4] <- entropy(as.numeric(as.vector(ENTROPY[i,2:3])), method="ML")
}

# Calculating Frequency
ENTROPY$frequency <- ENTROPY$brand_a + ENTROPY$brand_b
ENTROPY
#虚拟数据

CUST_ID我认为你想要的指数是熵标准化的,通过给定购买数量的熵期望值。本质上,将一条曲线拟合到熵与购买数量的关系图上,然后将每个熵除以曲线给出的期望值


现在,这并不能解决你的问题,你的超级忠诚的客户有0熵。但我认为问题有微妙的不同:表面上的忠诚是出于偶然(低计数)还是真实?这是一个关于该客户忠诚度的明显问题。本质上,您想知道观察到这样一个数据点的概率

如果0熵事件是你唯一的痛点,那么你可以根据数据中的购买数量计算出只购买一个品牌的概率


或者,您可以确定熵和购买数量(而不仅仅是平均值)的完整联合概率分布,例如通过密度估计,然后根据给定的熵和购买数量计算条件概率

措辞得体的回答。你还一针见血——我想知道一个客户对品牌的忠诚度(熵)和对忠诚度的信心(根据他们的频率,熵的概率)。这是两个不同的问题,但我想把它们合并成一个指标。这可能吗?建议吗?可能-当然,但绝对不建议。假设分数与熵和概率成反比。那么你就无法区分高熵、低概率事件和低熵、高概率事件。如果我可能会问,为什么偏执于单一指标(除了智力满意度)?我想在更大的预测模型(可能是决策树/随机林/增强树)中使用单一指标作为特征。该模型预测的是客户是否有可能从他们目前的品牌中脱颖而出。。。即购买不同于先前购买的品牌。当然,品牌忠诚度具有很强的预测性。熵是预测性的,但只有当与频率相匹配时,熵才是预测性的。。。该产品价格昂贵,客户每隔几年才购买一次。许多客户只有一份记录存档。想想汽车,如果你有一份订单存档,你就不知道他们的品牌忠诚度。任何声称通过包含这些数据点来获得额外里程的预测模型都是谎言。