泰爾指數r語言 一招搞定泰爾指數及其分解

2021-10-16 14:41:30 字數 3671 閱讀 2147

上期講了區位基尼係數,這期講講泰爾指數。

泰爾指數的原理同基尼係數,都是在測度一組資料分布的差異性。但是其有著良好的可分解性質,因此當需要考察產業空間集中度在不同區域層面的差異**時,比較常用。

一、指標計算與分解

根據combes, mayer, &

thisse (2008,263~265),泰爾指數的基本計算公式如下:

上式中,r為地區數目,s為產業部門(sector);為r地區s產業在全部產業中所佔的份額,為地區r的經濟總量在所有地區經濟總量中所佔的份額。可設定所有地區經濟總量的份額均為1/r,則算出的指標為絕對指標。

泰爾指數可分解為組間差異和組內差異。比如說在測度我國區域經濟發展的不均衡性時,就可將之分解為地帶間的不均衡性和地帶內的不均衡性。先在省級層面上計算各省份人均gdp的泰爾指數,應該可以發現,省級差異還是比較大的。接下來將大陸31個省份分成東、中、西部三組地帶,那麼,可以計算三組間人均gdp的泰爾指數,此即為組間泰爾指數;還可以就每一組分別計算組內省份間人均gdp的泰爾指數,利用各組的份額將它們加權平均,得到組內泰爾指數。結果或許可以表明,各省份間人均gdp的差異性,主要來自東、中、西部三地帶間的差異(即組間差異),而在每個地帶內部,省份間的差異性並不大。產業空間集中度的分解類同此理。

組間泰爾指數的計算公式如下。計算時,將組內單位指標數值彙總到組層面,將每組看成觀測單元,在組層面上利用泰爾指數基本計算公式即可算出。

組內泰爾指數的計算公式如下。計算時,實際上是以某組為樣本群體,利用泰爾指數基本計算公式計算該組單元數值的泰爾指數,再將各組的泰爾指數加權平均得出,權重為每組單元彙總指標值的佔所有單元彙總指標值的份額。

。這一分解為一層分解。如有多個層級的分組,如先地帶分組,地帶內的省裡面又有市級分組,市級分組裡面又有縣級分組,…,形成乙個巢狀多層級分組體系,則泰爾指數的分解可依據鏈式法則遞進分解。如下圖所示(akita, 2003)。第一層次的分解在「國家(country)→ 地帶(region,分組變數)→ 省(province,觀測單元)」之間展開。首先是不分組,計算省級層面的總泰爾指數,然後計算地帶間的組間泰爾指數,再次計算region1組內province1、province2、province3的泰爾指數,其他各組依此計算,這樣會得到各組的泰爾指數,再加權平均為總的組內泰爾指數。如此,即實現第一層次的分解。

如果province下面還分地區(district),則可將每組看成乙個樣本群體繼續分解。如以上計算出的region1的組內泰爾指數,在將region1看成乙個樣本群體後,可在「region1 → province1:province3 → district1:district10」這個體系內,利用以上第一層次的分解原理繼續分解。其他region組照此進行。然後依據加權平均法則,把各組的province層面組間泰爾指數進行加權平均(權重為region的份額),即得到province組間泰爾指數。總的泰爾指數最後分解為:region組間泰爾指數+province組間泰爾指數+province內部以district為單元計算出的組內泰爾指數(將各province組的組內泰爾指數加權平均得之)。

如district下面還要細分,則按照以上原理一環套一環遞進分解完畢即可。

二、r語言函式實現

根據以上公式和分解原理,編寫計算並分解泰爾指數的函式geo.theil(),其引數設定說明如下:

geo.theil(x, y = null, group = null)

其中,x為各區域產業經濟活動規模數值向量;

y為各區域總體經濟活動規模數值向量;

x、y向量不能含缺失值,不能有負值,y向量和大於0;

y預設為null,即不作設定,此時簡化為絕對指標;

group為分組指示向量。如分組在兩層以上,則group為兩列以上的矩陣或資料框,層級由高到低排。

讓我們用資料測試一下:

** 1

# 載入geo.theil函式

> source("geo_theil.r")

# **測試,geo.theil和ineq包的theil結果相同

> a

> geo.theil(a)

[1] 0.1196876

> ineq::theil(a)

[1] 0.1196876

> reat::theil(a)

[1] 0.1411139

接下來用實際資料來試一下。資料「manufacture2007.csv」包含了中國大陸省、市、縣級2023年30個製造業的規模以上工業增加值資料,其前三列分別為省、市、縣,最後一列為各區域單元全部製造業的工業增加值總和,可作為參照分布,其餘列均為各個製造業工業增加值。讀入資料後,用geo.theil()函式算出各產業的泰爾指數並在省、市兩級層面分解,匯出結果檔案為「theil_results.csv」,**如下:

** 2

# 設定**和資料所在的工作資料夾,這裡假設為"d:\\theil",注意位址分隔符用"\\"而不是"\"

> setwd("d:\\theil")

# 載入geo.theil函式

> source("geo_theil.r")

# 讀入資料

> mydata

read.csv("manufacture2007.csv")

# 看兩位數**為13的製造業在省級層面的分解

> t13.1

x13, y = total, group = 省))

> t13.1

total group1 within

1.0547998 0.2547051 0.8000947

# 看兩位數**為13的製造業在省級和市級層面的分解

> t13.2

x13, y = total, group = cbind(省, 市)))

> t13.2

total group1 group2 within

1.0547998 0.2547051 0.3106503 0.4894444

# 批量計算所有製造業在省、市層面的分解

> theil.results

> theil.results

theil.results)

> theil.results

total group1 group2 within

x13 1.0547998 0.25470508 0.3106503 0.4894444

x14 1.1200430 0.18545063 0.2821592 0.6503204

x42 1.3465432 0.27674943 0.5073413 0.7699828

x43 3.0207135 0.50584180 0.8718032 1.3451203

# 寫出結果檔案至工作資料夾

> write.csv(theil.results,

"theil_results.csv")

[1] akita, t. 2003.

decomposing regional income inequality in china and indonesia using two-stage

nested theil decomposition method. annals of regional science, 37(1): 55-77.

[2] combes, p.-p., mayer,

t., & thisse, j.-f. 2008. economic geography: the integration of regions

and nations: princeton university press..

R語言 簡單指數平滑法

簡單指數平滑適用於可用相加模型描述,並且處於恆定水平和沒有季節變動的時間序列地短期 簡單指數平滑法提供了一種方法估計當前時間點上的水平。為了更加準確的估計當前時間的水平,我們使用alpha引數來控制平滑,alpha的取值在0 1之間。當alpha越接近0,臨近 的觀測值在 中的權重就越小。我們採用倫...

R語言 霍爾特指數平滑法(Holt)

有增長或者降低趨勢的,沒有季節性可相加模型的時間序列 演算法 霍爾特指數平滑法 holt holt 指數平滑法估計當前時間的水平和斜率。其平滑水平是由兩個引數控制,alpha 估計當前點水平 beta 估計當前點趨勢部分斜率。兩個引數都介於0 1之間,當引數越接近0,大部分近期的觀測值的權值將較小。...

R語言體驗一

r語言是一門面向資料統計 資料分析 資料視覺化的程式語言。r的歷史 安裝在這裡就不多說了,自行google把。1.接下來我們聊一聊利用r怎麼畫世界地圖,我就使用r的maps包來實現世界地圖,如果沒有裝maps包 就是使用install.packages maps 來安裝maps包,更新包update...