落园 |专注经济视角下的互联网

有趣的模拟

我现在的笑点好像越来越低了...

 
Statistical models

AB_Test
Post_Stratification
Post_Strat_rescale
HTE
HTE_rescale

(Intercept)
20.85 (0.37)***
-0.61 (0.04)***
20.85 (0.03)***
0.40 (0.03)***
20.85 (0.03)***

TCT
4.02 (0.52)***
4.02 (0.05)***
4.02 (0.05)***
2.01 (0.05)***
4.02 (0.04)***

pre_x

1.05 (0.00)***

1.00 (0.00)***

pre_x_rescale

1.05 (0.00)***

1.00 (0.00)***

TCT:pre_x

0.10 (0.00)***

TCT:pre_x_rescale

0.10 (0.00)***

R2
0.00
0.99
0.99
0.99
0.99

Adj. R2
0.00
0.99
0.99
0.99
0.99

Num. obs.
20000
20000
20000
20000
20000

p < 0.001, p < 0.01, p < 0.05

 


论网上集市二手物品的定价模式

最近园主尝试在网上买了一件二手物品。首先因为它还有点值钱,所以园主才花心思去卖掉,否则直接送人就好了对吧。

卖二手物品主要集中在各种分类网站上,园主选了几个:58同城、百姓网、赶集网和淘宝二手(闲鱼)。这几个网站买东西的模式都差不多,反正大概写写找张照片挂上去就好了。但是定价呢?

首先参考同类产品的定价不是?大概搜了搜别人的定价,嗯,估摸一下可以类似产品取个均值,于是楼主写了个1500块。

然后我们知道需求曲线: q = q(p),大概长成百度说的这个样子:(不要问我为什么Q在X轴....经济学家永远是奇怪的一群人)。2fdda3cc7cd98d10d49f9c38213fb80e7bec9074我们假设在每个平台上每天搜这个产品关键字的人有 X个,搜到之后点进去看的占10%,如果价格高于他的预期效用(最高购买价)就不买,如果低于预期效用就不买。那么就可以大概算一下园主的waiting time的问题就是,愿意出价的人>=1个。即落在上述需求曲线那条虚线水平线上面对应的累计Q1>=1,虽然实际上应该是离散的但是就写个积分形式吧:\int_{p_{t}}^{1500}q(p_{t})\geq1

假设上述需求曲线成立,那么对于每天的这个积分大于1的概率(此时可以把所有访客看作服从这么一个需求曲线作为概率分布密度函数的分布,那么每天卖掉的概率就应该是

P\left[\left(\int_{p_{t}}^{1500}q(p_{t})\right)/\left(\int_{0}^{1500}q(p_{t})\right)*\left(x*10\%\right)\geq1\right]
然后x可以是对于t有个随机性的,理论上我们可以算出来到底第T天累计的\sum_{t=1}^{T}x_{t}会使得上述累加概率和足够大。假设卖掉的话我就拿到当时的价格p_t,卖不掉的话就得到0,这样我就可以算一个对于等待时间的期望E(waiting)或者期望效用。鉴于我是没有耐心的,也不知道上述各个参数的具体值,所以我打算采用一种策略来估计上述系数的实际值:

  • 统计每天的页面点击量,然后如果当天没有卖掉,第二天就降价\delta,降价的幅度可以通过梯度下降计算出来(类似于降价拍卖原理)。

于是我就洋洋得意的开始执行此战略。

你问我实际的执行情况?呵呵,我就第一天挂了1500,第二天脑袋一抽写了个1300,然后就卖出去了...然后就没有然后了....反正卖掉了,做人要讲诚信...


实验设计的原则与我的体会

今儿继续读前几天说到的那本书:

Montgomery, Douglas (2013). Design and analysis of experiments (8th ed.). Hoboken, NJ: John Wiley & Sons, Inc. ISBN 9781118146927.

嗯,我读的很慢,唉,求轻拍啊。

刚读完第一章...(默默的跪墙角了,第一章才23页,居然读了这么久!)。看到一些比较有意思的点,抄一下顺便罗嗦一下。

1. 实验设计的原则

基本上就三点吧:随机化、重复、分块(blocking)。

  • 随机化没什么好讲的了,就是保证treatment的分配和其他各种可观测不可观测的variable之间相互独立、相互不受干扰。从我的理解,这大概是源于一条定理(下为简述):
    如果回归方程是Y=X\beta+Z\gamma+\varepsilon,且X\bot Z,那么下面两式估计出来的\hat{\beta}(均值)一致、估计方差后者小。
    1) Y=X\beta+\varepsilon
    2) Y=X\beta+Z\gamma+\varepsilon
    所以如果我们保证了treatment和其他各种因素相互独立,就可以直接通过随机试验来读出treatment effect了。
  • 重复。重复这里一方面可以广义的理解为“可重复研究”,另一方面其实很简单的就是样本量要足够(比如不停的抛硬币来判断硬币是不是均衡)。也就是说,只针对少数个体的实验可能受到各种随机外在因素的影响太大,而加大样本量(实验个体)有助于减少这样的误差、同时提高估计的精度。所以,重复更多的是,在相同(或者类似)的个体(情景)上重复同样的treatment/control。
  • 分块。这个主要是排除一些样本间差异的影响。作者给的例子比较直接,有两批原料样本,然后做某种实验。两批原料可能由于批次、厂商不同,相互之间有些差别,但这种差别我们是不关心的。所以评估的时候,就把他们分开、每块单独评估。(或者理解为,回归方程里面加一个批次的dummy variable,然后算方差估计值的时候做一下cluster。

除上述三点之外,还有一个要注意的就是factorize,译作因子化?简单的来讲就是一分为二、是或者否。然后多个因子组合一下...

2. 实验设计的一些要点

这个就是高屋建瓴的说说咯。

  • 利用自己在该领域的知识。否则就是盲测?感觉这个有点像经济学里面强调structual model的那种感觉...
  • 实验设计和分析越简单越好。不是什么高深的技巧都应该一股脑的放在实验设计上的...越高深适应性可能就越差。
  • 认识到实际价值和统计显著性。这个就是说,统计上显著的,实际中不一定有意思。比如花了很大力气,证明了某个treatment effect是显著的,但是提升只有0.01%,却增加10%的成本,那就得不偿失了。
  • 实验往往是递进的。几乎没有一次性的实验是完美的,我们往往是在渐进的实验过程中不断学习。一般第一次实验都是简单而广泛的,更多是一种尝试和探索大致方向。作者建议不要把多余25%的资源投入到第一次实验。

嗯...其实挺好玩的还是,虽然有很多繁琐的地方,但大致的原则和方向还是蛮清晰的。实验设计其实最大的区别就是,不是想尽办法用模型去套现有的数据(黑一下ML),而是想办法更好的搜集数据、从而进一步时间简洁有力的分析(simple, elegant and powerful)。


几个有趣的问题

今儿跑代码的百无聊赖的时间,看了一下昨天收藏的周志华老师的一个演讲:Boosting 25周年。链接在这里:

http://vdisk.weibo.com/s/FcILTUAi9m111

对Adaboost之类的我已经忘得差不多了,还好有当年ESL的笔记可以翻翻。看周老师这张slide,基本上是总结了一下集成学习(ensemble learning)的大概思路。

2014-10-20 15_45_23-CCL2014_keynote-周志华.pdf按照这个思路,Boosting类和bagging以及random forests这种都算作ensemble learning了。然后在简单的回顾了adaboost的前世今生之后,抛出来一个有趣的问题:

理论上我们证明了,Adaboost在多轮学习之后会过拟合,可是为什么实践中很少看到过拟合的现象呢?

嗯...然后就是边界理论和统计观点的两种解释...我就不赘述了,大家去看周老师的slides就好。我好奇的其实是,overfitting本身是怎么可以用一个理论的方法来证明的呢...感觉不那么直观呢...好好奇啊,想找点相关的paper来看看,可又怕是另外一个大坑,上周那个实验设计的大坑还没填平或者弃坑呢。


实验设计的大坑

我总觉得自己学过实验设计——而今却越来越不敢说这句话。这两天一直在感慨:

1. 最近发现一种可怕的感觉:越是学习越是深入了解一个领域,越觉得自己不知道的很多,而且是越来越多。于是越来越不敢对这个领域发表见解,给出的答案也往往越来越保守...

2. 忧伤的表示,那种问个问题直接扔几篇paper作为回答的童鞋,可不可以考虑一下小白的感受,至少先扔个综述来让我了解一下这个领域的概况好么...直接扔篇working paper来说你自己领悟其中奥秘吧,这是闹哪样....

嗯,这就是我现在对实验设计(experiment design)的感受...水很深。

感慨完了上面第2条,就去乖乖的google相关的知识了。首先从wiki下手:http://en.wikipedia.org/wiki/Design_of_experiments,事实证明我的选择是比较正确的...历史痕迹一览无遗:

  • Controlled experimentation on scurvy
  • Statistical experiments, following Charles S. Peirce
  • Randomized experiments
  • Optimal designs for regression models: Response surface methodology
  • Sequences of experiments

瞬间有种拨开云雾见月明的感觉,感觉终于有个清晰的脉络了,残留在脑海各处的零碎的问题终于有个线索可以慢慢追寻了。简单的理解一下这几个东西。

  • Controlled experimentation on scurvy:最开始的控制/对照实验的想法,很简单,就是把12个坏血病人分为六组,然后分别给了六种治疗办法。结果在一周之内,吃柑橘的那组就很快恢复了...所以这就是为什么维生素C叫做坑坏血酸的原因么?啊啊啊....我又跑题了。
  • Statistical experiments, following Charles S. Peirce: 到这个时候开始提出频率和概率的概念,开始强调随机化(randomization)。
  • Randomized experiments:这个时候开始出现随机、双盲、重复试验的概念。
  • Optimal designs for regression models: Response surface methodology. 这里就是从full factorial到response surface,即从多个可能的factor组合中中寻找最优response。第一步是普通的多因子实验,然后找出显著的因子。在此基础之上,进一步实施更为复杂的比如Central composite design,就是选取这些因子的中心点,run实验;然后保持所有其他因子不变,在一个因子中心点前后选两个点,来做二阶多项式拟合。重复此过程直到所有因子都被测试。
    Response_surface_metodology
  • Sequences of experiments:这里就更加灵活,可以通过多期的实验方法来渐进优化。常见的如Multi-armed bandit problem, Gittins index and Optimal design。基本的idea是,按照上一期实验的结果来判断下一期实验的方向。近期的研究可以参考这篇:
    Scott, Steven L. "A modern Bayesian look at the multi‐armed bandit." Applied Stochastic Models in Business and Industry 26.6 (2010): 639-658.

最后关于实验设计...貌似有本handbook式的教科书:

Montgomery, Douglas (2013). Design and analysis of experiments (8th ed.). Hoboken, NJ: John Wiley & Sons, Inc. ISBN 9781118146927.

。。。。。。。。。。。。。。。。

瞬间觉得自己真是跳进了一个大坑。