关于商品价格区间的数据处理,求支招。

2019-07-24 10:23:36 +08:00
 zppass

要做一个需求,就是我们作为一个平台方提供给第三方或者个人销售商品,但是要对某种商品价格有一个合理价格区间的处理。

( 1 )数据是离散型的,要找到合理范围,因为平均数有时候说明不了问题。 ( 2 )在现有数据基础上处理,要把那些报价太低骗人的和报价太高扯淡的商品屏蔽掉。 ( 3 )在合理区间在得到出几个区间(正态分布型的)

有没有做过数据清洗相关方面提供一些思路和做法。

2166 次点击
所在节点    程序员
5 条回复
Rheinmetal
2019-07-24 10:32:35 +08:00
在合理区间在得到出几个区间 这是什么意思?

不用平均数可以用分位数嘛 直接切掉前 10% 和后 10% 这样就行了
分成这几种区间如何 10%-30% 30-50 50-70 70-90
silverbooker
2019-07-24 10:42:14 +08:00
用四分位数可以处理这个问题。至于具体的概念你可以搜一下。

简单的说中位数就是这组离散数据的 50%分位数。

同理,你可以取得 25%分位数(就是你把这组数据从小到大排序后第 25%的数字),又称下四分位数,命名位 Q1。
取得 75%分位数,又称上四分位数,命名位 Q3。

然后你就可以依据这些计算上下边界,超过上下边界的就是异常值,你就可以把它们过滤掉。

上界 = Q3+(Q3-Q1)*K
下界 = Q1-(Q3-Q1)*K

其中 K=1.5 ,这是一个经验值,一般不做改动。
akira
2019-07-24 12:32:46 +08:00
没做过数据清洗,但是感觉用正态分布的置信区间应该能解决你的问题
zppass
2019-07-25 10:26:08 +08:00
@Rheinmetal @silverbooker,大佬说的是,刚开始我想用正态分布来搞,结果发现异常值影响很大。用了分箱法,也就是分位进行数据预处理确实清除了很多异常值后,最起码看分布图舒服多了。

其实目的就是对某类商品有个大概的合理的价格区间,在价格区间内部在分个三六九等的样子。
zppass
2019-07-29 12:32:01 +08:00
@Rheinmetal @akira @silverbooker 谢谢各位老哥建议,汇报一下进展吧,
分箱是可以去除一些异常值,但是呢过于低的值过滤不掉(采用的是等频分箱,发现自动分箱有时候会把一个区间的值分成很多或者没分,可能我设置的不好吧。)。
处理后的数据进行聚类,然后处理了一下,发现能得到合理的区间(产品觉得合理就合理喽)。
在感谢的同时,也希望帖子别沉,大家都来提一下思路,能让更多的人参与进来互相启发。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/585670

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX