加载中…
个人资料
庖丁的小刀
庖丁的小刀
  • 博客等级:
  • 博客积分:0
  • 博客访问:2,180
  • 关注人气:297
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

二阶差分对数据的拟合

(2011-05-23 23:03:14)
标签:

二阶差分

拟合

打分

数据分析

分类: 2.推荐挖掘算法
    说明:对博友 避免做凤雏 给的一个数据进行处理。具体业务背景,博友没具体说明。
  1. 俺不是个好学生,总是在睡眼惺忪的时候,听到老师在那里讲神马一致收敛、积数。
  2. 二阶差分是我自己起的,有知道正确叫法的博友请指正。

【数据下载】 http://t.cn/heARCU
【结果下载】
http://t.cn/heF0SM
【要求】对给出的数据进行打分,从1到10. (其实就一列数据)
【数据的基本图像】
http://s7/bmiddle/7eb42b5aga3f4ed8f9ba6&690


【前言】
    在看书的时候,想起了我们亲爱的张玲玲老师说过:导数,梯度,拐点,极限,导数的东西。想想用来做个拟合,然后再去打分应该不错。
 
 
【原理】
  1. 一阶导数是变化率。二阶导数是趋势。
  2. 利用二次求导得到的函数,在极值是拐点(即对应的原始数据发生分离,这个分离点可以做为一个打分的点,对原始数据进行分割。目标:找出这样的9个点。)
  3. 由于导数是差值在步长的无限小的时候的极限,所以在足够小的时候,可以认为和导数的作用相同。
  4. 记得在数学分析课上,讲梯度和方向导数的时候,有个应用是等高线和等压线。其实就是对各个均匀的,不均匀,甚至很不均匀的数据进行打分。
【关键点】
  1. 二阶函数的极值的选取。类似以下几个方向:1.点的聚类。2.二阶导数的意义。
  2. 结果呈现前大后小的状态,这对实际假设是点击人数/购买人数的比值吻合。
  3. 如果在某个数据段密集出现数据,并不影响较远的数据的打分。屏蔽了较大的值和较小的值对打分的影响。

【思路】
  1. 对原始数据排序,得到序列A。
  2. 不改变A的顺序,得到一阶差分序列B,类似一阶导数。见图1,一阶差值。
  3. 不改变B的顺序,得到二阶段差分序列C,类似二阶导数。见图2,二阶差值。
  4. 极值选取原则:对C序列从前往后,找第一个比较大的值,此处不严谨。因为数据量小,所以直接从图上找出的。

http://s6/middle/7eb42b5aga3f4bc09f695&690

http://s7/middle/7eb42b5aga3f4bc966b56&690


【分析】
  1. 图1的变化率很大,也类似指数分布。
  2. 图2 出现波动,峰值就是各种拐点。取峰值比较大的作为分割点即可。如果使用拟合函数,要11次方程才能出现10以上的峰值。但是拟合受数据的影响较大。需要熟悉各种函数。才能得到较好的结果,因为只要九个点,我就直接用图了。(个人感觉像震荡函数,和声音的那个函数类似,有学物理的博友,可以指点下。)
【结果】
   这样取值,是不是感觉和平时考试的差不多,低分值的人多,高分的人少。是不是又特别像网站的点击率很高,真正买东西的人会在某个点极具下降然后在某个地方稳定?考虑到前三分的人数高达60%,所以挪动了一个拐点,得到第二个数据。不过,个人感觉,第一个图比较好。貌似一个什么函数和这个很像~~给出两个结果。

结果一
自然排名 得分 人数
24 0.02% 1 24
64 0.06% 2 40
96 0.15% 3 32
117 0.26% 4 21
129 0.41% 5 12
140 0.61% 6 11
142 0.65% 7 2
149 0.84% 8 7
155 1.42% 9 6
158 2.43% 10 3

结果二
自然排名 得分 人数
24 0.02% 1 24
43 0.04% 2 19
64 0.06% 3 21
96 0.15% 4 32
117 0.26% 5 21
129 0.41% 6 12
140 0.61% 7 11
149 0.84% 8 9
155 1.42% 9 6
158 2.43% 10 3

http://s10/middle/7eb42b5aga3f4bf845e79&690




0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有