2016-01-06 66 views
1

我有一套产品。每种产品都是不存在的“父母”的变体。此外,每个产品(我们称之为儿童产品)在我们的数据库中都有自己的单独分配的价格。这是一个小例子集。逼近价格

父SKU是1000

产品儿童:

1000-TankTop-SM - 14.95 
1000-TankTop-2X - 17.95 
1000-Hoodie-SM - 34.95 
1000-Hooodie-2X - 39.95 

这是问题所在。我们的数据库以一对一的关系列出每个真实儿童产品的价格(如同正上方)。每个产品都有一个SKU,我可以通过SKU查找每个产品的价格。我有一个网站不支持这种定价方法。定价工作的方式是这样的。我创建了一个“父”产品。每个父母产品必须有一个基准价格。变化的价格是通过增加或减少美元数量创建的。所以“父母”有两个属性集,即产品类型和大小。正数或负数必须与每个属性相关联。所以从我上面的例子来看。

尺寸:

SM +- ? 
2X +- ? 

产品类型:

TankTop +- ? 
Hoodie += ? 

我如何决定哪些变量上面应该等于至少接近实际的子产品的价格?这可能没有任何极端的异常值?

+0

添加了一个可以在Excel中用作概念验证的工作示例。 – DevNull

回答

2

这听起来像一个令人沮丧的(即:糟糕的)数据库系统,因为实际上不可能创建任意价格。即:

TankTop = + $2.00 
Shirt = + $1.00 
Sweat = + $5.00 

Small = - $1.00 
Medium = + $0.00 
Large = + $3.00 
X-Large = + $5.00 

通过上面的例子,小型衬衫的成本为10.00美元,同时中型衬衫的成本为10.50美元是不可能的。

因此,每个产品的定价总和为:BASE_SKU_PRICE + SIZE_MODIFIER + STYLE_MODIFIER。这意味着您无法为每个独特商品分配任意价格值,因此您需要使用回归模型。

如果您想重新调整项目的大量表格的价格,最小化异常值的最简单方法将是线性最小均方误差近似(LMS)的多变量变化,其中is just another type of multivariate linear regression approach

这将让你每一个独特的产品型号(即:SKU)的函数关系:

y = a + bX_1 + cX_2 

如果你想有一个非常整洁的方法来处理这对于生产数据库系统,你将是最好的关闭只需使用MATLAB或SPSS创建数据库表,您可以指定置信区间和其他参数以帮助优化近似值。

最后,I found an example online which you could try out in OpenOffice Calc or Microsoft Excel。这将给你一个工作的算法方法,而不是你必须导出解析形式方程并从它们生成代码。它甚至可能足以解决您的问题,而无需打破MATLAB或SPSS。