V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
zppass
V2EX  ›  程序员

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

  •  
  •   zppass · 2019-07-24 10:23:36 +08:00 · 2169 次点击
    这是一个创建于 1978 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    5 条回复    2019-07-29 12:32:01 +08:00
    Rheinmetal
        1
    Rheinmetal  
       2019-07-24 10:32:35 +08:00
    在合理区间在得到出几个区间 这是什么意思?

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

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

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

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

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

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

    其实目的就是对某类商品有个大概的合理的价格区间,在价格区间内部在分个三六九等的样子。
    zppass
        5
    zppass  
    OP
       2019-07-29 12:32:01 +08:00
    @Rheinmetal @akira @silverbooker 谢谢各位老哥建议,汇报一下进展吧,
    分箱是可以去除一些异常值,但是呢过于低的值过滤不掉(采用的是等频分箱,发现自动分箱有时候会把一个区间的值分成很多或者没分,可能我设置的不好吧。)。
    处理后的数据进行聚类,然后处理了一下,发现能得到合理的区间(产品觉得合理就合理喽)。
    在感谢的同时,也希望帖子别沉,大家都来提一下思路,能让更多的人参与进来互相启发。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2636 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 07:17 · PVG 15:17 · LAX 23:17 · JFK 02:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.