写点什么

基于时间加权的用户购买类目意愿计算

  • 2019-09-27
  • 本文字数:928 字

    阅读完需:约 3 分钟

基于时间加权的用户购买类目意愿计算

一、背景

在 DMP 的人群画像或者商品画像等的应用中,有一类常见的打分需求:旨在基于一些 transactions,为两种关系打上一个归一化的分数。比如基于一个用户的购买商品行为对该用户购买类目意愿打分,该文章讨论如何在考虑时间因素的情况下给用户打分。

二、要求

  • transaction 发生的时间越近,其所占的比重越大,且减小的速度越来越慢。

  • 所有分数都需要正则化到 0-100 区间。

三、数据形式

输入的数据(表示某人某天买了某个类目多少单):用户 id、日期、类目 id、订单数


最终产出数据:用户 id 对每个类目的购买意愿分


四、实现方式

1) 要求 transaction 发生时间和现在的距离越小,这条记录越大,就像一个热门事件,会被人慢慢遗忘,且后续遗忘的速度越来越慢。


基于这个需求,很容易让人想到基于热力学的牛顿冷却定律:物体的冷却速度,与当前温度与室温之间的温差成正比。


换成数学语言表达:



其中 H 为室温,初始时刻的温度为:



其中α>0 为与物体有关的常数,为负数表示当物体温度高于室温的时候,物体温度会下降,但当物体温度低于室温的时候会上升。


对于上个公式,两边取积分:




eg: 人体在死亡后,温度调节功能随即消失,由此正常温度(假设 37)与室温比较,利用牛顿冷却定律可以获得死亡时间。


假设某冬天早上,接到报警,街头发现流浪汉尸体,6:30AM 测量其体温为 18 度,到了 7:30AM,其体温已经下降为 16 度。



预备知识完了,现在我们回到业务:假设 transaction 发生当天的热度为 100 度


而 180 天之前的 transaction 我们假设降为 1 度,又假设室温为 0 度,可以求出α:



2) 对分数(上面的 sum_score)做归一化。


假设对于 sum_score,有最大值和最小值,如果差距过于大,会先对其做对数处理:



图像为:



该函数以原点为中心,将实数集映射到值(0,1)且两边都是开区间。我们希望通过平移和拉伸,对于上面的 [ -15,2 ] 的区间映射做映射:



符合要求,然后 0-1 的分数再乘以 100,将其转成 0-100 的归一分数。


本文转载自公众号有赞 coder(ID:youzan_coder)


原文链接


https://mp.weixin.qq.com/s?__biz=MzAxOTY5MDMxNA==&mid=2455760033&idx=1&sn=cda32ddd58fea2a18e2d4ec9cb88f86b&chksm=8c686a84bb1fe39246da325ff19d7fdb66c947ee2ec061daf86e1f203d3e15f09eb3396e16f1&scene=27#wechat_redirect


2019-09-27 08:001206

评论

发布
暂无评论
发现更多内容

GrowingIO 前端团队对于 GraphQL 的实践总结

GrowingIO技术专栏

大前端 graphql

【Vue2.x 源码学习】第二篇 - Vue的初始化流程

Brave

源码 vue2 6月日更

ARTS- 日常打卡5

pjw

关于第四次财富狂潮的思考,区块链如猛虎出笼?

CECBC

微博评论的高性能高可用计算架构设计

唐高为

Redis数据结构

邱学喆

数据库 redis 跳跃表

面试系列-2 redis列表场景分析实践

李阿柯

php 面试 redis cluster

Spring Boot FatJar类加载机制简要分析

luojiahu

Spring Boot 类加载 ClassLoader FatJar

“扯皮”终结者,区块链帮农民工计薪水

CECBC

实现多级缓存架构设计方案

xcbeyond

缓存 缓存架构 6月日更

一文了解预训练语言模型!

博文视点Broadview

深圳首辆数字人民币主题观光巴士亮相

CECBC

直击Huawei Mate 40产线背后的华为云IoT智能制造

华为云开发者联盟

IoT 数字化转型 数字孪生 华为云IoT

在Spring Bean实例过程中,如何使用反射和递归处理的Bean属性填充?

小傅哥

Java spring 小傅哥 反射调用 属性填充

有点难的 webpack 知识点:Dependency Graph 深度解析

范文杰

webpack 6月日更

HarmonyOS 2正式发布 硬件生态品牌HarmonyOS Connect一同亮相

科技汇

Dubbo SPI

青年IT男

dubbo

Hello Python! 第一天学 Pyhton 语言

在即

6月日更

面试系列-3 限流场景实践

李阿柯

php lua redis 面试 限流算法

k8s 插件管理工具之krew使用

雪雷

6月日更

手把手教你在IDEA中配置Maven

打工人!

Java maven 6月日更

你们公司的数据库出过问题么?

escray

学习 极客时间 朱赟的技术管理课 6月日更

【Flutter 专题】114 图解自定义 ACEProgressPainter 对比进度图

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 6月日更

BZZ算力挖矿系统开发功能丨BZZ算力挖矿源码设计

系统开发咨询1357O98O718

详解Camtasia的注释功能

淋雨

视频剪辑 Camtasia 录屏

情指勤一体化指挥调度平台搭建,情报研判分析系统搭建

分治(详解残缺棋盘 —— Java代码实现)

若尘

算法 分治 java代码 6月日更

react源码解析4.源码目录结构和调试

全栈潇晨

React Hooks react源码

致恰达耶夫,致鸿蒙

脑极体

React Hooks - 如何安全地使用state

蛋先生DX

大前端 React React Hooks JavaScrip 6月日更

中断Hwi:提高鸿蒙轻内核系统实时性及执行效率的秘密武器

华为云开发者联盟

鸿蒙 硬件 中断 鸿蒙轻内核 中断信号

基于时间加权的用户购买类目意愿计算_文化 & 方法_Jason_InfoQ精选文章