【发布时间】:2021-07-24 14:18:43
【问题描述】:
我从 10 多个竞争对手那里抓取了一件商品。如何使用 python 在统计上找到正常价格、低于和高于价格?
样本数据:
prices = [34, 33, 33.5, 47 , 33.7, 29, 20, 36, 34, 33,2]
【问题讨论】:
-
代码块是反引号`不是单引号'
标签: python data-science
我从 10 多个竞争对手那里抓取了一件商品。如何使用 python 在统计上找到正常价格、低于和高于价格?
样本数据:
prices = [34, 33, 33.5, 47 , 33.7, 29, 20, 36, 34, 33,2]
【问题讨论】:
标签: python data-science
Numpy 是你的朋友!很难说如何在不知道上下文的情况下计算低于和高于定价,但您可以为此选择一定数量的均值标准差。
对于正常定价,如果没有上下文很难说,但这里是计算中位数和平均值的方法。
我强烈建议您在得出任何结论之前对数据进行一些一般性的统计分析,以了解其外观 - 分布情况、是否存在异常值等。我还建议您在基于此做出决策之前提出一种可靠的方法来计算过高/过低定价。请把下面的例子作为如何在 numpy 中实现统计概念的简要示例......
import numpy as np
prices = [34, 33, 33.5, 47 , 33.7, 29, 20, 36, 34, 33,2]
mean = np.mean(prices)
median = np.median(prices)
stdev = np.std(prices)
## Let's say you decide more than 1 stdev +- from the mean is over/undepricing
overpricing_threshold = mean + stdev
underpricing_threshold = mean - stdev
print(mean)
print(median)
print(stdev)
print(overpricing_threshold)
print(underpricing_threshold)
【讨论】:
我建议通过 Scikit Learn 深入了解基本的机器学习。您可以在任务中使用简单的Linear Regressor。或者,如果您有点热心,即使是 XGBoost Regressor 也可以。
使用机器学习解决这个问题可以更好地了解什么是“正常价格”。
【讨论】: