深入浅出数据分析(3)

寻找最大值

Posted by MitnickEX on November 4, 2016

从这一更的数据分析就有意思了,因为中间会设计一些工具和图形,装逼的时候到了~( ﹁ ﹁ ) ~→

有些东西人人都想多多益善

为此我们上下求索,要是能用数字表示我们不断追求的东西——利润、金钱、效率、速度等,实现更高的目标的机会就在眼前。而很多时候数据分析就是一个找最优解的过程,找出解决方案和优化点,帮助我们调整决策变量,使我们 最大限度地达到目标。

那么问题来了——如何去寻找这个最大值囔?

我们结合一个例子来学习如何寻找最大值和介绍今天的数据分析工具Solver

有一个做浴盆玩具的厂家,厂家想多赚点¥¥¥

听说时下盛行数据分析打理业务,于是联系到了你;

该厂家生产橡皮鱼和橡皮鸭,该厂家想尽量提供利润,

为此需要确保橡皮鱼和橡皮鸭的产量都恰到好处;

你需要帮忙找出理想的产品组合:这两种产品各应该生成多少?

以上就是本次的例子,那么我们开始分析。首先,我们需要哪些数据才能解决这个问题?我们将所需要的数据分成两类:

无法控制的因素

橡皮鱼的利润
橡皮鸭的利润
厂家有多少橡胶可以用来生产橡皮鱼
厂家有多少橡胶可以用来生产橡皮鸭
生产橡皮鱼要用多少时间
生产橡皮鸭要用多少时间

可以控制的因素

生产多少橡皮鱼
生产多少橡皮鸭

得到的反馈数据

关于橡胶供应量:橡胶只够生产500只橡皮鸭或400条橡皮鱼。

关于生产耗时:时间够生产400只橡皮鸭或300条橡皮鱼。

关于产品利润:每只橡皮鸭的利润是5元,橡皮鱼额利润是4元。

由此看出,你能控制的变量受到约束条件的限制,约束条件不会告诉你如何实现最大利润,它们只会告诉你在实现利润最大化的过程中无法做到的事。那怎么处理 约束条件决策变量才能找到实现最大利润的组合囔?

借助目标函数发现目标

你希望最大化或最小化的对象就是目标,目标函数则可以帮助你找出最优化结果。你的目标函数用数学方法来表示是这个样子: 绘制体现约束条件的图形:

绿色的线表示时间点最多生产的橡皮鱼300条
蓝色的线表示时间点最多生成的橡皮鸭400只
红色的线表示橡胶能够支持生产橡皮鱼和橡皮鸭的数量
灰色的填充其余表示满足约束条件的区域

但是,问题又来了!怎么找出区域中的最佳组合?

有请我们今天的大明星——Solver求解器君~

用电子表格实现最优化

Microsoft Excel、WPS表格和OpenOffice都有称手而小巧的函数插件,英文叫做Solver,可以麻利地解决最优化问题。

只要插入约束条件,写下目标函数,其他的算数工作就交给Solver吧。请看这张表格,其中有你收集到的所有数据。

决策变量:生产的橡皮鸭的数量
约束条件:橡胶和时间
目标:利润 ![](http://i.imgur.com/iHheouR.png)

单击求解,结果如何?

恭喜你找到了最佳组合~然而……

图样图森破!!!

80条橡皮鱼全部卖光了,却只卖出20只橡皮鸭;

实际只获得了420元的利润;

这比估计的2320元的利润要低得多。

你的假设立足于不断变化的实际情况

模型告诉了我们如何实现最大利润,但是仅仅是在你所规定的约束条件下。模型接近事实,但原因无法完美,有时候这种不完美会导致问题。你的目标应该是尽量创建最有用的模型,让模型的不完美相对分析目标变得无足轻重。套用一个著名统计学家的赖皮话:

一切模型都是错误的,但其中一些是有用的。
										——George Box

有没有一种假设可以帮助你优化模型?模型中没有任何因素表面人们真正会购买此产品,所以我们需要增加一个体现人们会买什么的假设,比如:销售额历史数据、每个月橡皮鸭的销售量、每个月橡皮鱼的销售量……

我们所使用的所有数据都是观察数据,你无法预知未来。你的模型现在是在起作用,但可能会突然失灵。你需要做好准备,以便在必要额时候重新构建分析方法,反复不断地进行构建正是分析师的工作