zr.zhang xc.li
一、研究目标
本文旨在验证人们对概率的主观评估是否真如函数所估计的那般;概率权重函数的结论是否可以在实际生活中进行运用。
二、目标模型
(1)Kahneman和Tversky认为,人们不是根据客观概率pi而是把客观概率转为主观估计权重π(pi)再对结果进行估计,并提出了前景理论:
其中
为概率权重函数(probability weighting function),主要揭示了人们对于客观概率与主观权重之间是如何进行转换的:
大致函数图像:
45度线是预期效用理论标准
更小的γ取值导致更扭曲的概率权重函数曲线
当π(p)=p,p的取值在0.3-0.35之间
理论认为,人们总是倾向于赋予小概率更大的权重,且赋予大概率更小的权重,人们不是完全理性的。为了验证这个观点,我们设计了如下实验,在大学校园中随机选取实验对象。
三、数据采集
实验一:1. 100%获得32000元
2. 80%获得40431元,20%获得0元
在1、2中进行选择并以每次800元逐渐减少100%获得钱的数额(图像上80%的估计权重小于实际概率),以估计人们对于80%获得40431.25元(由于实验对象都接受过数学期望的教学,故取一个较难计算的数值以确保得到的数据更加接近人们的主观估计权重)的效用的真实评估,从而计算出人们对于80%这一概率的主观估计权重。
改变80%为70%,100%获得钱数32000为27800,每次递减数额800为600,再次实验,计算出人们对于70%这一概率的主观估计权重。
实验二:1. 100%获得8000元
2. 20%获得40431元,80%获得0元
效仿实验一,以每次100元逐渐增加的100%获得的数额来估计人们对于20%的概率的主观估计权重(图像上估计权重大于实际概率)
改变20%为30%,100%获得钱数8000为12100,每次递增数额100为200,再次实验,计算出人们对于30%这一概率的主观估计权重。
共采集到数据:80%与20%共31组,70与30%共29组:
80%
心理预期
概率权重
个数
平均时间(s)
32345
32000
32345
0.8
5
21.20
31200
31600
0.781573659
6
9.40
30400
30800
0.761786984
2
8.89
29600
30000
0.742000309
5
8.08
28800
29200
0.722213634
1
9.38
28000
28400
0.702426959
12
6.30
加权平均主观估计权重:0.744334
70%
心理预期
概率权重
个数
平均时间
28301.875
27800
28301.875
0.7
14
16.69
27200
27500
0.68016695
3
7.46
26600
26900
0.665326944
1
4.72
26000
26300
0.650486938
1
4.57
25400
25700
0.635646932
1
5.02
24800
25100
0.620806925
9
12.37
加权平均主观估计权重:0.66824
30%
心理预期
概率权重
个数
12129.375
12100
12129.375
0.3
5
12300
12200
0.301746792
24
12500
12400
0.306693461
12700
12600
0.31164013
12900
12800
0.316586799
13100
13000
0.321533467
加权平均主观估计权重:0.30144
20%
心理预期
概率权重
个数
8086.25
8000
8086.25
0.2
10
8100
8050
0.199103416
21
8200
8150
0.201576751
8300
8250
0.204050085
8400
8350
0.206523419
8500
8450
0.208996754
加权平均主观估计权重:0.19939
误差来源:
1.实验对象在实验过程中因突发事件耽误了时间,花费过多时间作出选择。
2.实验对象对实验数据变化不敏感,选择的数据与心理预期不符。
3.实验对象没有认真做出选择。
4.实验对象计算了期望,没有按照直觉做出选择。
四、数据分析
概率
加权平均主观估计权重
预期效用理论标准
0
0
0
0.1
0.1
0.1
0.2
0.19939
0.2
0.3
0.30144
0.3
0.4
0.4
0.4
0.5
0.5
0.5
0.6
0.6
0.6
0.7
0.66824
0.7
0.8
0.744334
0.8
0.9
0.9
0.9
1
1
1
(研究的数据为差异较为明显的部分,故未采集的数据默认等于预期效用理论标准的数值)
绘制概率权重折线图进行观察比较:
五、结论
与Kahneman和Tversky对概率权重的估计相比较,有较为明显的差别:
虽然人们对大概率的权重估计有低估的倾向,且在0.3处π(p)≈p,但对小概率的权重估计不存在明显高估的倾向。
在进行数据统计的时候,我们记录了每人做出选择所花的时间,对每次实验中选择相同心理预期数值者所花时间取平均数,t检验显著。比较不同心理预期选择者所花时间之间的差异,可以明显发现:所花时间越长,做出的选择越接近预期效用理论标准数值;也即,人们做出选择所花时间越长,做出的选择越理性。
这个结论的得出,也印证了人们会对大概率的权重有低估的倾向:本文研究的是人们对客观概率的主观权重的估计,因此人们做出选择所花时间越短,越能真实反映他们的主观估计,因此本次实验中得出的概率权重图像中折线的扭曲程度应更大。
因此,在面对大概率时,人们对概率的主观评估正如函数所估计的那般,结论可在实际生活中适当运用,但对小概率的评估仍有待继续验证。
本次实验的不足:
1.由于取样困难,本次实验仅取了4个点大约30组的数据,不能完全画出概率权重曲线,曲线可能会在这四个点以外发生偏折。
2.实验对象都是在校大学生,本次实验结论不能适用于整个社会。
3.没有再次取小于20%的概率进行验证,是否人们真的对于小概率事件不存在高估倾向。
4.本文对人们做出选择所花时间的研究仅进行了初步研究,没有进一步展开,虽然进行了t统计检验,检验结果为显著,但结论仍存在不确定性。
参考:
(1)陈雅静老师行为经济学Lecture5 PPT中对于前景理论与概率权重函数的定义。
#The research on "probability weighting function"
#Designed By Xc Li
#Oct. 2015
import os
import time
#初始参数设定
n = 1 #上升级数
r = 5 #最大上升级数
a = 40431.25
pa = 0.8
b = 40431.25
pb =0.2
count = 0 #一共做了几题
print u"这是一个行为经济学实验"
# os.system('pause')
def hypo1(n):
pi = 32000 - 800 * n
return pi
def hypo2(n):
pi = 8000 + 100 * n
# pi = b * pb / (k * (1+n*m) + 1) #曾经的想法
return pi
os.system('pause')
start_time = time.time() #记录实验开始的时间
p_time = time.time()
print p_time
flag1 = False
flag2 = False
c_1 = 0
c_2 = 0
print a*pa,b*pb
for n in range(r+1):
print n, hypo1(n),hypo2(n)
for n in range(r+1):
if flag1 is False:
os.system('cls')
print u'第',2*n+1,u'题'
print u"如果你有两个选择:"
print u"选择1:你有",int(pa*100),u"%的几率获取",a,u"元, ",int(100-pa*100),u"%的几率获得0"
print u"选择2:你有100%的几率获取",hypo1(n)
print u"你会选择:(输入1或者2后按回车)"
p_time = time.time() #开始计时
count = count + 1
choice = raw_input()
if choice == '1':
if a * pa > hypo1(n):
print 'rational1'
c_1 = a*pa
c_11 = hypo1(n)
flag1 = True
time_1 = time.time()-p_time
comment_1 = 'r_1' #rational choice
if choice == '2':
if a*pa < hypo1(n):
print 'irrational1'
c_1 = hypo1(n)
c_11 = a*pa
flag1 = True
time_1 = time.time()-p_time
comment_1 = 'i_1' #irrational choice
if flag2 is False:
os.system('cls')
print u'第',2*(n+1),u'题'
print u"如果你有两个选择:"
print u"选择1:你有",int(pb*100),u"%的几率盈利",b,u"元, ",int(100-pb*100),u"%的几率盈利0"
print u"选择2:你有100%的几率盈利",hypo2(n)
print u"你会选择:(输入1或者2后按回车)"
p_time = time.time() #开始计时
count = count + 1
choice = raw_input()
if choice == '1':
if b * pb > hypo2(n):
print 'rational2'
c_2 = b*pb
c_22 = hypo2(n)
flag2 = True
time_2 = time.time()-p_time
comment_2 = 'r_2'
if choice == '2':
if b*pb < hypo2(n): #here was a bug orz...
print 'irrational2'
c_2 = hypo2(n)
c_22 = b*pb
flag2 = True
time_2 = time.time()-p_time
comment_2 = 'i_2'
rec = [c_1,c_11,c_2,c_22,time_1,time_2,time.time()-start_time,count,comment_1,comment_2]
print u'实验完成 谢谢',rec
tf = open('80-20.csv','a') #文件名
for r in rec:
rr = str(r)
tf.write(rr)
tf.write(',')
tf.write('\n')
tf.close()