写点什么

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

  • 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:001400

评论

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

自制文件系统 —— 1 什么文件系统

奇伢云存储

Linux 文件系统 Go 语言

聊一聊我最近使用的uniCloud是个什么玩意

麦洛

uniapp unicloud

Dubbo 服务治理

青年IT男

dubbo

百度爱番番与Servicemesh不得不说的故事

百度Geek说

深入剖析 MySQL 自增锁

leonsh

MySQL 数据库

唵嘛呢叭咪吽|靠谱点评

无量靠谱

One-on-One Meeting

escray

学习 5月日更 朱赟的技术管理课

HTTP协议

IT视界

网络协议 HTTP 网络通信协议

iOS基础原理题目汇总

程序员 面试 iOS 知识体系

Logstash-数据流引擎

进击的梦清

大数据 Linux 运维 后端 Logstash

模块五作业

c

架构实战营

【Flutter 专题】116 图解 PhysicalModel & PhysicalShape 裁切小组件

阿策小和尚

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

ModelArts的雪中送炭,让我拿下CCF BDCI华为Severless工作负载预测亚军

华为云开发者联盟

modelarts 工作负载 大赛 severless lstm架构

react源码解析2.react的设计理念

全栈潇晨

React React Hooks react源码

《面试官:谈谈你对索引的认知》之B-树

架构精进之路

MySQL 索引结构 6月日更

Serverless over Storage

焱融科技

云计算 容器 云原生 高性能 文件存储

99% 的同学写不出好代码,都是因为这个问题!

程序员鱼皮

Java c++ Python 自学编程 经验分享

人生算法:愿景,设计人生导航系统

石云升

读书笔记 愿景 5月日更

dex优化对Arouter查找路径的影响

vivo互联网技术

android mongodb

从外包到拿下阿里offer,这2年5个月13天到底发生了什么?

Java 程序员 架构 面试

不含敌意的坚决|靠谱点评

无量靠谱

通证经济— 激励机制、社会生产、后资本主义

CECBC

在 Python 中解析和修改 XML,你会么?

华为云开发者联盟

Python xml 字符串 Python XML 解析器

智慧光伏能源-园区光伏发电能源管控可视化

一只数据鲸鱼

数据可视化 智慧园区 智慧能源 能源管理 光伏发电

5分钟速读之Rust权威指南(十三)

wzx

rust

大数据采集和常见问题

数据社

大数据 数据采集 5月日更

文本分析基本流程

Qien Z.

文本分析 5月日更

网络攻防学习笔记 Day31

穿过生命散发芬芳

5月日更 网络攻防

IoT系列,树莓派监控开关状态

IT蜗壳-Tango

IT蜗壳 IT蜗壳教学 5月日更

架构之:软件架构漫谈

程序那些事

架构 系统架构 软件设计 程序那些事

6000 字 |Redis 分布式锁|从青铜到钻石的演进方案

悟空聊架构

redis 缓存 分布式锁 redis分布式锁 6月日更

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