Categories
Wordpress

wordpress同步到微博的小提醒

以前落园在用的WP插件:WP-Tsina貌似授权失效了(就这几天的事儿吧,已经在新浪的app平台上搜不到它了),所以一直也就没法同步了。无奈之下,研究了一下sina那边可以用的应用,选了一个叫做WordPress连接微博的插件。花里胡哨的样子其实我不是很喜欢,但是也没有别的更好的选择了,就这样吧。

希望sina不要关闭Ouath授权,现在开放平台上只能找到Ouath2的文档了,害得我开始还很单纯的以为只是API接口的改变、试图去换接口地址呢(后来发现是WP-Tsina的ID已经消失了,哎)。

现在落园可以正常的同步到微博了,还算是唯一值得庆幸的事儿吧。微博一步步收紧之后,不知道还有什么进一步的限制呢?别真的非实名制不能发言啊!
微博

Categories
网站建设

初识Markdown语法

听着Yihui兄及COS的一群骨干们说了好久的MD(markdown)和knitr,各种心里痒痒啊。无奈最近的一段时间总觉得学习新东西的成本太高,就懒得开始动手。今天忍不住去GitHub上看了一眼,发觉自己已然没有任何理由再不快点把那个小册子弄完了,于是乎,赶紧补课。

补课的第一项工作就是升级各类软件,包括R、RStudio和Git。悄悄的说一句,现在的Git版本貌似比以前的容易用多了,我是对Github的使用没有任何印象了,重新跟着help鼓捣了一遍发现还是不怎么困难的。在一不小心删掉所有的文件之后,成功的fetch并push了所有的文件(还好有下载zip备份)。

然后下一站就是开始研究Markdown语法……好吧,这东西真的比HTML还简单啊(一直认为HTML已经是超级简洁了)。随便从网路上搜了一个语法说明(http://markdown.tw/),然后就可以开始玩转这东西了——真的很符合日常排版习惯啊!引用这个网页上的一句话:

HTML 是一種發佈的格式,Markdown 是一種編寫的格式。

习惯了Wordpress编辑器HTML模式的人,大概会对Markdown瞬间上手吧。完全米有难度……而且,符合习惯代码洁癖的人……

好吧,我怎么开始研究起这些东西来了?不是说好不玩这些geek的东西么?还是各种忍不住啊……下一个牺牲的应该不会是落园的wordpress架构吧,暂时我还不想动它,搬日志什么的很麻烦的……

Categories
互联网产业观察 经济、IT观察与思考

[RAAT]第一话:微博的数据该怎么玩呢?

引言(即废话):每当要准备presentation的时候,就会开始想一些问题。去年写的是【社会实验的特殊性】,然后有一系列的文字和最终的slides。现在,想多少从自己这大半年的工作经历出发,写一系列文章,就叫做 R as an analytical tool吧,简称RAAT。第一话,从微博入手好了;第二话,将由Joke童鞋过年时候问的一个问题引出;第三话,会是更偏向流程和实践的东西。这些我会一点点写,也可能有所改变,看到时候具体的想法了。

新浪微博也火了这么久了,但是对于吾等数据源控来说,这等数据简直不能被暴殄天物啊。怎么用来分析为好呢?

links类数据

微博有两大类links:

  • 粉丝关系
  • 评论与转发关系

然后呢然后呢?

首先很多人感兴趣的是信息传递吧?那么决定信息传递的就是,第一呢,每个用户的信息源(主要来自于他关注的其他微博用户);第二呢,他关注的人的发布及转发行为。用粉丝关系来计算影响力(influential rank)自然是没有问题,但是多少有点损失的感觉——我们总关心一个人在接受信息之后的response是不是?所以,一个简单可行的思路是,这里不妨用其转发行为来加权,判断每个他关注的用户对于他的影响程度的不同~如是,则每个有向的link上就附加了一个权重,成为了一个加权的有向图。

嗯,这样一个基本的网络模型就构建好了。然后呢?链路预测?等等,我们关注并分析微博数据是为了什么呢?到底构建什么样的指标是合理的呢?

如果你想扩大自己的影响力...

好吧,在下作为一个老字号(落园居然被我坚持写到第6个年头了,这是一种什么精神啊~)blogger,自然可能希望多少扩大一下影响力。落园是落园,blog对我来说有它自己特殊的意义(比如发泄,呃),但是我的新浪微博就沦落为一个落园的notifier了(这个特别的理由就不在这里公开说了,私底下聊)。如是,那么应该怎么办呢?

正常的话,经营一个微博,怎么判断自己是不是越来越受欢迎了呢?显然,简简单单一个“粉丝数”还是不够的,用“转发数”为每个粉丝关系加权也还是不够的,我还得关注一下我的“粉丝”们都是一些什么样的人。比如,他们有几千+的粉丝,还会转发我的东西,那么我的影响力就~哈哈。简单的说,一个衡量指标可以是:我的微博可能会被多少人看到呢?那么,我只要算一下我的粉丝和他们转发的可能性,然后再算他们的粉丝转发他们微博的可能性,以此类推,我就通过了“粉丝”这类link成功的影响到了更多的人。从这个角度而言,这比直接的“粉丝数”或者“转发次数”更能衡量一个微博的影响力。

当然,类似的指标还可以构建很多,比如对response进行加权。看具体目的了。我的微博算个特例,因为它有一个特殊性:不转发任何其他微博(机器人自然要符合自己的身份嘛),所以我关注的指标相对单一——我是比较关注“信息能传递到的人”,而不是特别关心他们的response程度(话说最近关评论了,直接刺激大家转发啊,故需要另当别论了)。如果是商业经营一个微博,那么在内容的选择上或许就要更加迎合各自群体的口味,具体的是否可以用Bayesian规则来算算被转发概率呢(不断的update概率)?

如果你是想提供一个互动渠道……

微博被很多企业作为新兴的接触客户的渠道(沟通成本低嘛),所以很多企业可能希望建立一个帐号来更多的获取用户的信息。比如会员制的商家,可以通过找寻自己会员的微博号,来得知他们最近的偏好,然后推荐相应的产品。电商也可以进一步的做一些销售活动,比如我的京东帐号和微博帐号绑定之后,是不是就可以直接留言给京东下单了呢?就像我打个电话似的那么方便。要是他搞什么团购之类的,我也可以直接在微博上买而不是跳转到京东复杂的页面上去,那该多好啊。

对于这样的目的,首要的任务就是找寻自己的用户群,然后建立他们微博帐号和会员帐号之间的关联。除了直接的搜索关键词之外,初期还可以利用社交网络的力量,比如洲际和喜达屋集团都在做一些转发抽奖的活动,让已经关注他们的微博用户来扩散到他们的朋友(所谓物以类聚嘛,自然更有可能也是酒店常客),这样一来就已经实现了用户的识别。然后,怎么引诱这群会员是这些商家的长项,各种美图诱惑之下,让人经常在屋子里面各种坐不住(比如我...)。如果这些用户发一些信息,比如“下周飞北京”,那么这些商家大可以直接找到这些用户施以小惠然后成功的从对手那里抢的客户(先发制人啊)……反正至少我认识的玩酒店常客计划的人,都没有只专心的玩一家的。

跟R啥关系?

说了这么多,我们有了一些基本的建模思路。比如希望借助微博扩大影响力,那么最直接的办法:去找粉丝多的微博来转发自己的内容。很多微博都有一个不太公开的转发价格,如果你相信市场是无摩擦的、处于均衡的,自然可以认为价格反映了其影响范围的大小。但是,首先市场就不是一个静态的,难免在动态潮流的波动下偏离均衡;再说怎么可能无摩擦呢,信息不对称总是到处存在的。因此,为了实现现有资金(或其他资源)的集约化投入,往往需要做到的就是“找到对目标群体影响力最大的微博”。

还是用那句俗话,“物以类聚,人以群分”,很多大众微博的粉丝关系并不是从天而降的。这些微博发布的内容往往偏重某一个侧面,如科学松鼠会往往会发布科普类知识,主动follow松鼠会的粉丝可能也就有着更高的教育背景和辨知能力。换言之,不同微博的粉丝往往有着不同的群体背景。为了识别这些形形色色的圈子,我们可以先利用微博的粉丝关系,建立起来一个网络图(更可利用转发情况来建立加权的有向网络)。这在R中可以利用SNA等package完成,或者Gephi之类的更专一的network analysis software。然后在此基础上,分析若干帐户发布的微博关键词(会用到一些text mining技术,其R中的实现可以参见思喆大哥的这篇指导:http://www.bjt.name/2012/03/text-mining-in-r/),然后找到一个或者若干个符合目标群体特征的微博帐户,在此基础上按照links顺藤摸瓜、获取更多相关的帐户。一切的影响力之类都可归结于一个数学上的distance的measure问题(think about real analysis...),而加权网络中计算这些并不困难(也可以加入随机的扰动项进行多次模拟得出结果)。最后,自然可以计算哪些微博帐号的转发会对某些目标群体产生极大的影响——不仅仅是定量计算,更可以进一步归结于一个有约束的最优化问题。一旦一个问题成为数学问题,在R中无论是模拟还是求解都不是难事。最后结论会告知,哪些微博是应该去争取转发的(无论是通过金钱还是内容本身的意义去说服)。

类似的思路,能做的事情还有很多。譬如,哪怕是作为一个个体用户,我只关心某些事情发展的潮流(比如那些会影响股市的情绪),利用R也可以在浩瀚的微博信息中更准确的找出我应该关注的信息源(可能不是全部,或者出于实时性要求无法做到全量检测),即排除噪音,然后这些信息源所提供的信息便有可能给我一些方向上的指导,而不是盲从大众媒体的言论。

利用微博作为新兴交互渠道的办法就更多了,背后依赖的数据分析知识也会相应有所调整。R作为一个开源、免费的工具,其已经提供的众多packages可以迅速的帮分析人员实现相应的想法,而不是把大量的时间用于无休止的编程以开发相应工具。这样,R便可以在一个想法探索阶段找到相应的数据支撑和信息。有了想法、去实现之后,很多时候还需要评估效果(这里可以参见去年写的关于社会实验的东西:演讲幻灯片),这方面简单的计量工具更是可以在R中迅速实现、并可以轻易实现可重复的评估和报告(简单的分析模型和结果重复可以利用已有的脚本,偏正式的报告可以借助当年的Sweave和进化版如knitr)。

总而言之,我一直觉得数据分析考察的是分析人员本身的统计知识、业务知识和具体学科知识的积累,以及一些对于数据的敏锐直觉,而不是编程能力。若有想法便有其他人可以帮忙实现自然好,但是有时候一味的借助他人往往存在着时滞,一闪而过的很多想法便成了过眼烟云。不是我不提倡团队合作,只是找到这么一个完美团队的成本实在是太高,更多的时候还是不得不自己做很多事情。团队的合作程度在现实中往往会有所降低,分工模式也会更加的偏向项目执行流程(比如分析->成熟模型->自动化系统),而不是在分析阶段就完全的实现了各展所长(那样对每个成员的要求可能都太高了~)。在效率和效果兼顾的现实情况中,R的贡献自然轻易的凸显。我想这也是这两年R越来越热的趋势背后的推动原因吧。Labor division problem with constraints 🙂 分工最优化的必然结果。

------remaining challenges ------
当然,有一个回避不了的问题就是大数据量……R现在面对大数据依旧有些吃力,而network的数据往往又是一个N*N维的(N为个体数量),更加大了对于空间计算量的需求。这方面,解决思路一方面是把线性的计算分块化、分批跑;对于非线性的计算,更多的则可能是先抽取一个小样本,然后确定一个或几个模型,最后利用其它高性能计算工具来实现最终在整个大数据集上面的运行。

Categories
我的生活状态

how far away?

今天终于确认了一个朋友将去Harvard了,嗯...又一个我认识的活生生的人。好吧,Boston这座城市里面到底有多少神奇的人呢?各种顿感世界太小了。

有人曾对我说,“临渊羡鱼,不如退而结网”。呃,我还是在这里先艳羡一番吧。Cambridge到底有多远呢?我真的没有概念……

Enjoy your life, and the feeling of pursuing your dream.

However, how far away am I from my dream now? 突然失去了答案。那些动摇,确实是自己意志不够坚定。I will persist.

Categories
经济、IT观察与思考

发改委打的飞机和引发的地震

最近比较流行的段子,发改委继打完飞机后,又开始引发地震了~

打飞机的段子(截取):

2009年3月25日
发改委决定将汽、柴油价格每吨分别提高290元和180元
当天,美国空军一架正在执行测试飞行F-22“猛禽”战机加州爱德华兹空 军基地以北六英里的地方坠毁。
2009年6月1日
发改委发布调价通知,上涨油价
当天14时,一架载有228人的法航空客A330起飞不久后与地面失去联系。机上228人全部遇难,其中包括9名中国 人。
2009年6月30日
发改委再次发布调价通知,上涨油价
一架载有154人的客机在从也门前往科摩罗的途中坠毁
2009年7月15日
发改委就成品油价格问题发表说明,称价格未调整到位
当日,伊朗里海航空公司的一架客机在该国西北部城市加兹温附近的村庄坠毁,机上153名乘客和15名机组人员全部遇难。
...

当然很大程度上反映的是大家的情绪,但是这样的东西真的可信吗?“巧合”真的有那么多吗?让我们看一眼最近几年油价调整和飞机失事的记录(完整数据集在这里:oil_price.xlsx,数据来源分别是Wiki的失事记录和搜狐的油价调整记录)。

53d5aaeajw1dr8ovj1649j

(最上面的一行蓝点是涨价;中间是降价;最下面一行红点是飞机失事。点击上图查看大图
看出来了吧,首先呢,发改委的油价调整是有涨有跌的。可是这条新闻明显只挑着涨价的来说事儿;然后,飞机一年失事也得有二三十次,发改委调价也就是一年几次……换言之,发改委要想挑个飞机完全不失事的时间区间,还真有点难!

既然这个明显是选择性样本,那么我姑且臆测一下几个结论:
1. 发改委每次降价,也是在打飞机。
2. 发改委不涨不降油价,飞机也照样掉下来无误,所谓躺着也中枪啊~

其实本来就是无影儿的事儿,真的是黑的也能说,白的也能描。翻手为云,覆手为雨。不要轻易相信所谓的“统计数字”哦!如果你信这种所谓证据,我再给你抓一把出来~什么稀奇古怪的东西都能被我关联起来,亲,你信吗?我还能找出更漂亮的看起来更科学的模型来包装一下,让你觉得“超级专业”……真的是,选择性样本误人啊!

好吧,其实我写这个的目的,只是想说,不要轻易被这种“别有用心”的统计数字骗到!统计一下估计这连个correlation都不算,新闻稿却写的信誓旦旦的跟前因后果似的(关于causality inference的事儿,还敬请期待COS上dingpeng兄的大作哦!)

同样的道理估计也适用于下面的段子,证据我就先偷个懒,不找了。

墨西哥又地震了!!因为发改委又涨油价了 2010年4月13日发改委上调油价玉树7.1级地震。2010年10月25日发改委调油价,印尼苏门答腊岛7.2级地震。2010年12月22上调油价,日本7.4级地震。 2011年2月20日发改委调油价新西兰6.5级地震。2011年4月7日发改委上调油价墨西哥发生6.5级地震日本再发生7.4级地震

还有这个,我窃以为数字不是这样的,也没去细细的追本溯源。大家可以帮忙斧正一下。

---
题外话:虽说这里说了这么多,只是想证明这样的段子荒谬之处,但是背后其实可以理解的是,这只是大家宣泄情绪的方式而已。物价上涨、生活成本增加,林林总总,总要给人出气的机会的。不过,也只能出出气而已,深刻的改变需要太多太多的努力,也可能不是一挥而就的,需要量变产生质变啊。