2008-09-05 Fri
——感谢Deaton所作的文献综述。
最初的函数形式得益于Stone的研究,为孤立的单个商品建立对数需求函数:
log(qi) = αi + ei·log(x) + Σeik·log(pk)
这里ei是总支出弹性,eik是第k个价格对第i种需求的交叉价格弹性。因为观察数据的限制,必须把解释变量的数目保持在最低限度(自由度)。交叉价格弹性包含了收入效应和替代效应,Stone通过Slutsky方程将ei分解为ei = eik* - eiwk,
这里eik*是补偿交叉价格弹性,wk是预算份额。
将两式合并,用总价格指数的对数log(P)近似替代Σwk·log(pk),并加上齐次性限制Σeik*= 0,得到
log(qi) = αi + ei·log(x/P) + Σeik*·log(pk/P)
这里Σ的范围被限制在相近的替代品和互补品(排除不相关商品之间的零替代)。
为了保存自由度,支出弹性ei首先是由预算研究来估计的。最后,为了解释口味的持续变化,Stone引入一个时间趋势,比如说θit,并取一阶差分以最小化残差的序列相关的效应:
Δ[log(qi) - ei·log(x/P)] =θi + Σeik*·Δlog(pk/P)
make后报错
/usr/lib/libltdl.so: could not read symbols: File in wrong format
发现其调用32位lib
如果我们直接将调用的文件
ln -s /usr/lib64/libltdl.so.3.1.4 /usr/lib/libltdl.so
PHP可以正常编译
但是为了防止可能出现的问题
我们不使用这种方法
查看configure参数后我发现可以有参数直接指定lib目录
使用–with-libdir=/usr/lib64
加入configure后重新make通过
有个老外也遇见同样问题
http://forums.gentoo.org/viewtopic-p-3926345.html?sid=0c03688539961177d24652f60075387e
2008-09-04 Thu
由Deaton总结,此处为照抄。。。
(1)区分购买和消费是至关重要的。购买被认为是增加存量,而消费是造成存量损耗或物理磨损的原因,它由于存量的存在才得以实现。尽管常常假设消费和耐用品储备是成比例的,而且耐用品在物理上以不变比例衰减,但这仅仅是特例。
(2)超过一期的存量的存在意味着过去的决策影响现在的行为,正如现在的决策约束了将来的行为。
(3)购买决策可以根据新信息提前或延后。
(4)消费者信心、收入和价格预期是购买的重要决定因素。
(5)耐用品购买特别不稳定。
(6)区分新需求和替代需求是有用且重要的。
(7)是否购买某一耐用品是在两个离散的可选项之间做选择。原则上它和非耐用品购买不同,对非耐用品的选择是在一个连续的范围内进行。
(8)离散选择导致的加总问题的困难。当我们说“代表性家庭每年购买0.2辆车”,我们可以理解这句话的意思,但为购买0.2辆汽车的决定而建模就没太大的意义。
(9)许多耐用品要么是新上市,要么是重大技术变革的结果。因此,关于它们的信息要在消费者中传播需要一些时间。
(10)调整成本和/或交易成本的存在使实际存量向意愿存量的调整滞后。
56,随机数
SELECT random();
57,子查询
SELECT * from (select * from test) as aa;
58,组合查询
query1 UNION [ALL] query2
query1 INTERSECT [ALL] query2
query1 EXCEPT [ALL] query2
UNION 有效地把 query2 的结果附加到 query1 的结果上(不过我们不能保证这就是这些行实际返回的顺序)并且删除结果中所有重复的行, 就象DISTINCT做的那样,除非你声明了UNION ALL。
INTERSECT 返回那些同时存在于 query1 的结果中和 query2的结果中的行,除非声明了INTERSECT ALL, 否则所有重复行都被删除。
EXCEPT 返回所有在 query1 的结果中但是不在 query2 的结果中的行。 (有时侯这叫做两个查询的差。) 除非声明了 EXCEPT ALL,否则所有重复行都被删除。
59,前多少行
前10行
SELECT * FROM sunwg limit 10;
60,忽略多少行
忽略前10行
SELECT * FROM sunwg OFFSET 10;
61,逻辑操作符
sunwg=# select true and false;
?column?
———-
f
(1 row)
sunwg=# select true or false;
?column?
———-
t
(1 row)
62,时间操作
select now() + interval ‘1 day’;
select now() + interval ‘-1 day’;
SELECT now() + interval ‘1 hour’ ;
63,日期抽取
select extract(century from now());
select extract(year from now());
select extract(dow from now()); 星期几
select extract(quarter from now()); 季度
64,时间截取
SELECT date_trunc(’hour’, now());
65,条件表达式 CASE
CASE WHEN condition THEN result
[WHEN …]
[ELSE result]
END
66,条件表达式 COALESCE
COALESCE 返回它的第一个非 NULL 的参数的值。
SELECT COALESCE(description, short_description, ‘(none)’) …
67,条件表达式 NULLIF
NULLIF(value1, value2)
当且仅当 value1 和 value2 相等时,NULLIF 才返回 NULL。 否则它返回 value1。
68,条件表达式 GREATEST 和 LEAST
GREATEST(value [, …])
LEAST(value [, …])
GREATEST 和 LEAST 函数从一个任意的数字表达式列表里选取最大或者最小的数值。
这些表达式必须都可以转换成一个普通的数据类型,它将会是结果类型