• 沒有找到結果。

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

第 五 章 結論

1. 由第四章第一節,發現隨著等分切越細,Imask_v從 96 年開始有漸漸地上升,表 示台灣社會財富階級流動有可能逐漸趨向不公義。另外,由實際資料所算出的 Imask_v 大多介於 [0.7, 0.97],表示大部分時段之財富階級滯留情形較像雙峰分配的財富階級流 動之滯留情形,亦即貧者維持貧窮,富者維持富有,中產階級有往兩端移動的趨勢,

顯示財富階級流動在多年以來也許沒有很公義。

2. 由第四章第二節,發現在第 85 等分之後,民國 95∼96 年以及民國 96∼97 年的

Ijustice 都較大。探究原因,於民國 96 年到 97 年,雖然台灣發生金融海嘯,但社會反而

是公義的,有可能因為富有階級的人,投資標的有受到很大影響,所以財富階級就往 下流動,導致社會反而變公平了,似乎與第一章研究背景提及的相關現象有相呼應。

3. 由第四章第三節的財富價值分配,發現民國 93∼102 年其分配都是極度右偏的 Gamma 分配,表示台灣大部分 20∼30 歲申報人在這 10 年來幾乎偏向貧窮,少部分的 人握有大量財富,所以就算從第二章發現每一年的財富價值之平均數雖有穩定成長,

但這不代表整體社會經濟也跟著成長。

4. 由第四章第三節的財富等第,發現財富等第要切 70 等分到 160 等分,Ijustice 才 能較合理反映台灣社會財富階級流動是否公義,因此不宜切太少等分或太多等分就進 行詮釋。而一般在做轉移矩陣的文獻,可能只對財富價值切 5 等分到 25 等分就進行分 析,這樣是否導致對當時社會財富階級流動情形可能造成誤判呢,這點是值得留意深 思的部分。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

附錄 A 模擬一到模擬三的 python code

列表 A.1 模擬常態分配的財富階級流動 In[1]:

%pylab inline

In[2]:

import numpy as np import pandas as pd from scipy import stats

from sklearn.feature_selection import chi2 import numpy.linalg as lg

import matplotlib.pyplot as plt

from sklearn.linear_model import LinearRegression import pickle

import scipy.stats

In[3]:

#模擬10000個樣本 num_peo=10000

table=np.mat(np.zeros((num_peo,12)))

for i in range(num_peo):

table[i,0]=k k+=1

In[5]:

#模擬常態分配的財富階級流動 money=[]

for i in range(num_peo):

a=np.random.normal(loc=100.0,scale=10.0) money.append(a)

money=sorted(money)

for i in range(num_peo):

table[i,1]=money[i]

col=2

for well_iter in range(10):

medi=np.median(money) for i in range(num_peo):

if money[i]<medi:

money[i]=money[i]+stats.chi2.rvs(20) if money[i]>=medi:

money[i]=money[i]­stats.chi2.rvs(10) for i in range(num_peo):

table[i,col]=money[i]

col+=1

for c in range(2,12):

xis=[]

for i in range(num_peo):

xis.append(table[i,c])

plt.hist(xis,range = (0,400),bins=100,alpha=0.6)

plt.savefig(’C:\\Users\\user\\Desktop\\normal pic\\%d’%c)

for size in range(5,205,5):

well93=[];well94=[];well95=[];well96=[];well97=[];well98=[]

well99=[];well100=[];well101=[];well102=[]

wellidx=[well93,well94,well95,well96,well97, well98,well99,well100,well101,well102]

for yr in range(93,103):#財富價值由小排到大

two_var=data93_102[[’idn’,’chi_’+str(yr)+’_wellsum’]]

test=pd.concat([two_var,pd.DataFrame(columns=[’label_’+str(yr)])]

,sort=True) test=np.mat(test)

for i in range(num_peo):

wellidx[yr­93].append((test[i,0],test[i,1],test[i,2])) ID_left=[]

ID_right=[]

for i in range(size):

ID_left.append(int(num_peo/size*i))

ID_right.append(int(num_peo/size*(i+1)­1)) wellidx[yr­93]=sorted(wellidx[yr­93])

wellidx[yr­93]=np.mat(wellidx[yr­93]) p,q=0,1

for i in range(size):

for j in range(ID_left[p],ID_right[p]+1):

wellidx[yr­93][j,2]=q for i in range(2,10):

well_merge=pd.merge(well_merge,wellidx[i]

for i in range(9):

before_label=[]

after_label=[]

for cc in range(1,size+1):

before_label.append(cc) after_label.append(cc)

for ee in range(we_need_data93_102.shape[0]):

for m in range(len(before_label)):

if we_need_data93_102[ee,left]==before_label[m]:

for n in range(len(after_label)):

if we_need_data93_102[ee,right]==after_label[n]:

matrixidx[bb][n,m]+=1

left+=1 right+=1 m=[0]*size

for j in range(size):

for i in range(size):

m[j]=m[j]+matrixidx[bb][i,j]

for j in range(size):

for i in range(size):

matrixidx[bb][i,j]=matrixidx[bb][i,j]/m[j]

v = np.linspace(0,1,m) v = list(v)

v = np.linspace(0,1,m+1) v = list(v)

for n in range(5,205,5):

v = mask_v(n) y1 = list()

for i in range(int(n/5­1)*9,int(n/5)*9):

y1.append(float

(m[i].diagonal()*v/(lg.norm(v)*lg.norm(m[i].diagonal())))) y=np.array(y1)

lm = LinearRegression()

lm.fit(np.reshape(x,(len(x),1)),np.reshape(y,(len(y),1))) plt.title(’The slope is %f’%lm.coef_[0][0])

fig = plt.plot(xx,y)

plt.savefig(’C:\\Users\\user\\Desktop\\normal_mask\\%d’%n) plt.close()

In[12]:

#把40張圖片做成gif檔

from PIL import Image, ImageSequence

seq = []

for i in range(5,205,5):

im = Image.open(r’C:\\Users\\user\\Desktop\\simu5to200\\%d.png’%i) seq.append(im.copy())

seq[0].save(r’40_slope.gif’, save_all = True, append_images = seq[1:])

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

In[15]:

#算出 I_justice measure=[]

for n in range(5,205,5):

bar=(n­1)/2

for idx in range(int(n/5­1)*9,int(n/5)*9):

g=scipy.stats.norm(bar, np.sqrt(1))

numerator_first =(bar­(n­n))*(0­m[idx][n­n+1,n­n]) numerator_middle = 0

numerator_final =(bar­(n­1))*(0­m[idx][n­2,n­1]) denominator = 0

for i in range(1,n­1):

numerator_middle += +(bar­i)*(m[idx][i+1,i]­m[idx][i­1,i])

numerator=numerator_first+numerator_middle+numerator_final

for i in range(n):

denominator+=(g.pdf(i)­m[idx][i,i])**2

di=numerator/denominator

measure.append(di)

In[16]:

mat_mea=np.mat(np.zeros((40,9)))

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

In[17]:

k=0

for i in range(40):

for j in range(9):

mat_mea[i,j]=measure[k]

k+=1

In[18]:#畫出 I_justice 折線圖

x=[’1.5’,’2.5’,’3.5’,’4.5’,’5.5’,’6.5’,’7.5’,’8.5’,’9.5’]

for n in range(40):

print(mat_mea.tolist()[n])

plt.plot(x,mat_mea.tolist()[n])

plt.savefig(’C:\\Users\\user\\Desktop\\normal_so\\%d’%n) plt.close()

for i in range(num_peo):

a=100*stats.gamma.rvs(a=2,scale=0.5) money.append(a)

money=sorted(money) for i in range(num_peo):

table[i,1]=money[i]

coin=stats.binom.rvs(1,0.2,size=num_peo) col=2

for well_iter in range(10):

for i in range(num_peo):

if money[i]<=100: for i in range(num_peo):

table[i,col]=money[i]

col+=1

for i in range(num_peo):

table[i,1]=money[i]

col=2

for well_iter in range(10):

for i in range(num_peo):

if money[i]<=90: for i in range(num_peo):

table[i,col]=money[i]

col+=1

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

參考文獻

[1] WORLD INEQUALITY REPORT 2018. https://wir2018.wid.world/.

[2] World Inequality Database(USA). https://wid.world/country/usa/.

[3] World Inequality Database(Taiwan). https://wid.world/country/taiwan/.

[4] 陳耀宗. 「拿薪水的人不夠有錢」朱敬一談貧富差距:0.01% 頂級富豪靠股利、土地 買賣致富. https://www.storm.mg/article/169324.

相關文件