01

結果を図で見る

国レベル — 所得の割に人的資本が厚い国は、その後10年よく伸びる
図を拡大して読む ↗ 凡例・数字の読み方

考察

今回の結果で中心となったのは、所得水準から期待される以上に人的資本が充実した国ほど、その後の成長率が高いという関係です。出発点は制度の質と成長の関係でしたが、制度から成長への直接の経路は明確にならず、制度と人的資本、人的資本と成長というつながりが見えてきました。ただし、各経路の関連が支持されても、制度が人的資本を通じて成長を引き起こすという因果的な媒介まで証明したわけではありません。

この関係を読む鍵は、人的資本と初期所得の強い重なりでした。初版では両方を成長の説明に入れたことで標準化係数の絶対値が1を超え、指標を入れ替えても問題は解消しませんでした。そこで所得で説明できる部分を取り除くと、「豊かな国かどうか」から「同程度の所得の国と比べて人的資本が充実しているか」へと問いが明確になりました。採用モデルの結果も、この条件付きの比較として読む必要があります。

一方、所得グループ別に分けると推定区間が広くなり、関係がグループ間で異なるかは判断できませんでした。人的資本の尺度も保健面の負荷が強いため、教育や技能全般についての結論には広げられません。次は教育と保健を分けた仕様を事前に定め、別期間でも関係が再現するか、国ごとに変わらない特徴を調整しても残るかを確かめることが重要です。

分析と試行の記録を読む →

予測とのずれ

主要な国・地域の具体例

主要国・身近な地域をあらかじめ指定し、それに加えて各指標で残差の絶対値が最小の地域、正の残差が最大の地域、負の残差が最小の地域を機械的に選びました。同じ地域は1行にまとめています。残差の大小は記述的な比較であり、統計的な異常の判定ではありません。

選定した国・地域の予測との差。0を中心に左右で比較。健康は男女を併記。
地域名と予測との差を表示。クリックで原寸。正確な数値と選定理由は下表で確認できます。

一人当たりGDP成長(対数差×100・年率ではない)

国・地域選定理由実測予測実測−予測平均予測の95%区間読み取り
アメリカ指定した比較例17.499.18+8.31[4.46, 14.89]実測値は予測値を8.31対数ポイント上回る。
日本指定した比較例9.9321.87-11.94[17.26, 27.46]実測値は予測値を11.94対数ポイント下回る。
中国分析対象外。現在の国モデルでは一人当たりGNI成長が欠損しているため、中国を除外。予測は算出していません。
Mauritania予測に最も近い5.735.72+0.01[0.14, 12.13]実測値は予測値を0.01対数ポイント上回る。
Ireland予測を最も上回る72.9617.70+55.26[13.81, 23.01]実測値は予測値を55.26対数ポイント上回る。
Lebanon予測を最も下回る-41.1912.77-53.96[7.86, 17.85]実測値は予測値を53.96対数ポイント下回る。

これは制度・所得調整後の人的資本・初期所得を使った補助回帰による比較です。日本とアメリカのずれも、これらの条件だけでは成長を説明し切れないことを示します。人口構成・産業構造・期間中の出来事などは説明候補ですが、この分析では個別の原因として検証していません。中国は対象外であり、説明できた/できなかったという評価自体をしていません。

補助回帰の区間は合成指標を固定した600回の復元抽出による平均予測の区間です。個別の実測値の予測区間ではなく、区間の外にあるだけで異常とは判定できません。すべて標本内の当てはめです。

全地域の当てはまり・診断図とデータを見る

左は実測値と予測値(破線上で一致)、右は予測値と残差です。残差が正なら予測より高く、負なら低い値です。同じ標本に当てはめた結果であり、未知の地域や将来への予測精度ではありません。

上の具体例と同じ補助回帰の結果を、全地域について表示しています。CSVのmean_ci_low/mean_ci_highは上で説明した平均予測の95%区間で、前処理の不確実性は含みません。

一人当たりGDP成長の実測値・予測値と残差
一人当たりGDP成長 — 全点表示。クリックで原寸

表のregionは国・地域名、observedは実測値、predictedは予測値、residualは実測値−予測値です。地域名で検索できます。

  • 一人当たりGDP成長:実測・予測・残差country_prediction_diagnostics.csv — クリックで表示
    regionobservedpredictedresidualmean_ci_lowmean_ci_high
    Angola-27.464074420417006-10.926902151107608-16.537172269309398-22.0603628186350672.156526828277924
    Albania44.188935802185923.23464867731770420.954287124868217.1327884048427229.673180465202286
    Argentina-3.534072192263169.632144984855689-13.1662171771188493.2582725539204516.996791346419286
    Armenia41.6244528586698718.7963176729122822.8281351857575915.19154901255406522.518066576301358
    Austria6.79853676793413814.329886881772548-7.531350113838410510.29364965418284719.622892626639764
    Belgium10.51086814950661425.343115020374842-14.83224687086822919.259629408616332.57710243894551
    Benin25.5333040688729114.11412408544866911.419179983424247.71187064433690920.79643764316082
    Burkina Faso20.8916227281802613.442412162644857.44921056553540955.03135253735894821.695364685488805
    Bulgaria36.04148541796341513.77075080093724722.2707346170261689.55973181090121718.15442618920086
    Bahrain5.4544015872169287.0396056048781865-1.58520401766125830.729877143867660814.111457718409316
    Bahamas, The1.98615269656023948.773172612972585-6.7870199164123464.40531954187972513.274413064635018
    Bosnia and Herzegovina42.4175986721824224.06372646593662518.35387220624579617.89505498124631430.650489145022437
    Belarus2.512221276024284613.768999644534581-11.2567783685102976.27772343502253221.75256609137633
    Belize5.91721406635397114.909530765690167-8.99231669933619711.57586502900012518.136430753808813
    Bolivia15.03142006366324811.7144297739762973.31699028968695057.37220931128869616.193461934009882
    Brazil-1.488132060811331314.020746040633666-15.50887810144499710.84342119957482917.362748964129814
    Brunei Darussalam-16.124601633049096-0.8798000191546618-15.244801613894435-8.8099354209111888.292564293784356
    Bhutan23.25309389602363611.78638969938273511.4667041966409018.12949090553056715.592693664387834
    Central African Republic-32.792708257946848.288372198716921-41.081080456663760.4820780629946634416.64288624406411
    Canada8.0818817504084717.720964407156668-9.63908265674819713.19634862191566223.70948347347905
    Switzerland11.33708547432945612.84315543740292-1.50606996307346467.669419290028292519.165183845635646
    Chile10.26426791977588219.18489049626931-8.92062257649342914.73208853964464124.369865620878265
    Cote d'Ivoire39.294015392803243.76031744377603635.5336979490272-2.87768683566139411.424745129048148
    Cameroon10.013802840602365.874440229858184.139362610744179-0.034153600663431112.53561528545351
    Congo, Dem. Rep.22.764217752366920.2926636155373252.471554136829574612.43114327892451628.221742458608034
    Congo, Rep.-38.06673256120163-0.29766118147956444-37.76907137972207-8.0595309627144748.268646961420412
    Colombia18.9026252461188117.5111162168675171.391509029251292213.72173598111719721.544516223206166
    Comoros3.982530578541698716.475676205043648-12.4931456265019510.9662923198679422.094556954464153
    Cabo Verde17.9243853978519525.689379061426443-7.76499366357449419.42051601275145231.888822111689596
    Costa Rica23.6143928133886422.60717865310681.007214160281840518.45753035687997527.278759914002045
    Cyprus26.02741317079502220.3858259676105585.64158720318446416.48222801669970425.41200342957982
    Czechia20.68858686646528617.3246499480575553.36393691840773113.68510867236661521.789593524009018
    Germany9.30629404730591916.043888765867763-6.73759471856184412.02364467148170121.582138611388178
    Denmark13.83663655106630620.060000099147672-6.22336354808136614.74456525673132426.746389164648008
    Dominican Republic39.49081259616747.51474328184917331.976069314318232.454964715590214612.958135562442392
    Algeria0.574366779631851914.284240764546063-13.709873984914218.70449661068720520.0303105212778
    Ecuador9.03536841817533817.937326291613047-8.9019578734377112.08167248846324424.05454975285523
    Egypt, Arab Rep.22.4023148442334738.09806430392148614.3042505403119873.491720369525596713.174716745293127
    Spain13.00586803073340324.585312347411985-11.57944431667858319.0819997746444831.12662607120705
    Estonia24.46565515783998321.5586248954950832.907030262344900317.33673782152505226.59583208749513
    Ethiopia52.12902316505649522.19139481244310729.93762835261338814.44364620920156430.37365621350936
    Finland5.60490800554074321.587010130383547-15.98210212484280415.69305169942900428.553725554139042
    France7.21905286404265218.152338893079133-10.9332860290364814.4080711043839123.22364277519189
    United Kingdom11.53342112140904915.569031756260296-4.03561063485124711.60070511649663620.822136567688936
    Georgia46.31681370287470423.9021627254633622.41465097741134519.26100370685719628.845160647015152
    Ghana23.11734729150778412.1901594821369310.9271878093708536.15146674855112918.159613664929573
    Guinea31.6614280126959367.50886807137449924.1525599413214351.425203182188893314.54222557599083
    Gambia, The10.61087406807086417.768692435138014-7.15781836706715111.66542781150760524.329100347621605
    Greece13.6707978019673620.17941085649978-6.50861305453241814.65788695088167325.999246187947637
    Guatemala18.168611012899667.68767157602236410.4809394368772962.776478222698343813.060991171239205
    Honduras12.59870270134319.461702361656585-6.86299966031358414.33381584786112524.389107199608812
    Croatia34.4053639270164517.3551618913214117.05020203569504413.19827729909556721.820551425296767
    Hungary36.5437939510368217.15418369224676519.38961025879005413.9524563992024420.867314053997546
    Indonesia31.73237589346431513.5978934574325118.13448243603180310.20270811891764917.251261689166956
    India45.3580937717015717.7102039309848327.6478898407167413.21867120976651822.404883056596905
    Ireland72.9584703737849317.6965653892116755.2619049845732613.81445491346584723.014757900918525
    Iran, Islamic Rep.7.73227301982171211.835624615433161-4.103351595611455.61664372620145318.325627659641707
    Iceland13.44750585205716220.82349955533474-7.375993703277579516.33153125100885526.569639937158694
    Israel20.4117806254275918.641307898754371.770472726673219215.04506254657724723.362676787765114
    Italy9.06923299068669314.945329164913595-5.8760961742269029.59929464232525720.79479954083126
    Japan9.92677119570135621.86725170561499-11.94048050991363417.25805972762646327.46065139776979
    Kazakhstan14.8540021289967684.05614447838391810.797857650612851-3.536902507007653612.443668551700679
    Kyrgyz Republic20.66726646218750624.17756723224336-3.51030077005585317.8973342728404730.774965208020756
    Korea, Rep.24.7995117626437917.6070684954612957.19244326718249414.07455642432674222.195305459222556
    Kuwait-23.372820825468922.072149433435344-25.444970258904263-6.14252743265128211.246882326639836
    Lebanon-41.19034754589705512.772665922744112-53.9630134686411657.86338809150648317.847738876755038
    Lesotho-11.58805139879657311.145032276554216-22.733083675350793.345069613155837318.98948255787731
    Lithuania41.07197482742055417.01864356381442524.0533312636061313.93172830156155220.89810107096596
    Luxembourg2.8100321740922147.217672991696436-4.4076408176042220.742039328322097514.783561059762627
    Latvia31.6095875318088917.2900350759572114.31955245585168214.30222781215612721.075543595391938
    Morocco13.03144037197316917.539968363951616-4.50852799197844713.9144788326693521.073820945657346
    Moldova41.2836283357915318.01065092935508723.27297740643644613.7388096592020822.35744990498272
    Madagascar-0.954152122640650222.725785240219466-23.67993736286011615.14793399933692330.541872521686866
    Maldives20.55137291345232613.1628805001470797.3884924133052478.78138919106713817.748214062654466
    Mexico2.331211765660512510.885686583480673-8.554474817820166.81786517089829115.589384742815627
    North Macedonia28.34076447001141516.31051129260635312.03025317740506112.90703386351373520.00581642171535
    Mali11.00708544464081810.6120977579608040.39498768668001463.741980248076577418.138422575319108
    Malta37.8897148093740215.83774705051341822.05196775886060212.68488671497199319.924434634141566
    Montenegro26.76150287035188319.386272281017567.37523058933432214.40124349400320924.4412942678837
    Mongolia23.70729555980428713.9883007704510969.71899478935319110.06803898003930617.877590762030525
    Mozambique9.82716162165244719.457452530064835-9.63029090841238810.8646811935046328.099958334985825
    Mauritania5.72839263091555755.7223683587959230.0060242721196344110.1446985299310480612.125839566342416
    Mauritius20.78157743827997515.865679668030954.91589777024902512.49853103374592119.665595117354247
    Namibia-12.3959579234377063.863238267101632-16.25919619053934-3.006611523676226711.044655063359826
    Niger20.050018730091615.4226433726451694.6273753574464326.533850787618022524.08807222528744
    Nicaragua14.81324803688384221.117060789133824-6.30381275224998215.93277993118633226.32824537118729
    Netherlands14.85077734738595717.440054142373796-2.58927679498783912.73155913456524523.75461639232814
    Norway10.15472506645931414.94130022506998-4.78657515861066710.03254186562076821.295790402250077
    Nepal36.2048845594159721.64494429040715314.5599402690088216.04390855777173327.591510631646717
    New Zealand15.48328641309151322.501880847474553-7.0185944343830416.2502834868683929.07462558403854
    Oman-5.34444726671630110.529677698724829-15.874124965441135.59755006754599516.056074016837723
    Pakistan25.275702349122937.22067352845469718.0550288206682341.798561889061117513.46097703568913
    Panama23.0736760198134056.67045040770404716.403225612109361.66883082296422912.424165825685323
    Peru15.0346315484831917.990875409433603-2.95624386095041214.34483025486690321.853359767051202
    Philippines34.5023485227203620.42596670849630414.07638181422405716.18511421244294424.82559507323462
    Palau-10.3122372734807413.0882909859367-23.4005282594174410.22527285523702816.360682679941558
    Poland40.4904223987529118.74047326868166521.74994913007124715.44357738126945322.793752477129367
    Portugal16.5548375979968321.917789427789053-5.36295182979222317.49273448467680627.14812729946242
    Paraguay17.07663319043497612.4850219435712334.5916112468637427.900006269989571517.351191890485605
    West Bank and Gaza-4.35404758918078726.290887057491922-30.6449346466727120.14781404099200732.88696909857462
    Romania38.2938533972586411.4520702965755626.8417831006830777.08024554645269716.798729880311154
    Russian Federation6.6929959883914592.2140258293722224.478970159019237-7.28580227365901812.619709123922068
    Rwanda36.84822166634269524.3728151536683212.47540651267437515.26444000510579933.26914988264773
    Saudi Arabia12.1854026598713360.166268061578113812.019134598293222-8.4784472092709049.530601948031162
    Senegal21.66257699689477817.9102349092150533.752342087679725312.07550966027970924.00115529823843
    Solomon Islands-16.33068383528719626.02269811214812-42.3533819474353218.60265549154810633.28137946890975
    Sierra Leone4.95266813165207156.677283433611819-1.7246153019597479-0.0923043418594892114.41451415505874
    El Salvador19.05226201004790517.4384314830058681.613830527042036813.90948469808068620.920718606722076
    Serbia31.4823787874596318.15273810656097513.32964068089865613.20358534327175323.29693280039134
    Sao Tome and Principe13.52716211554483315.979371346476679-2.45220923093184611.5579167636655120.613442659757972
    Slovak Republic22.39484453874780514.4442503662154217.95059417253238411.34490076892469718.05283222729782
    Slovenia23.9382192295980919.6177177788481074.32050145074998315.73438878495366624.54610406267628
    Sweden10.70802626692195519.81998596980142-9.11195970287946414.27599876784499426.40133788943234
    Eswatini13.824049453843656-0.43474715033235914.258796604176016-8.2580518301918748.001989769465172
    Seychelles9.0326873390770510.20152541120655-1.16883807212949976.72765567797790314.184217194549761
    Chad-16.4089873226839-0.7361402445742042-15.672847078109694-9.471970868323989.089183131029905
    Togo27.97705942880277516.00188034858136311.9751790802214129.90650704219445422.35732429914556
    Tajikistan44.5067326973688930.02343952332890414.48329317403998621.6907169371919639.08209993684735
    Timor-Leste21.868463912473514.71761173599647.1508521764771029.88674213540049419.86786912744824
    Tonga14.22983403544968429.81751921537315-15.58768517992346522.80655242539303337.552458688915316
    Tunisia2.19366877407836118.19903983120665-16.0053710571282914.81660406138989221.54692266574542
    Tanzania22.84789798757618215.0192359765801967.8286620109959868.88610272998529821.480045695350334
    Ukraine-25.8198028295712613.180389219792778-39.000192049364046.99191756649835319.6993556444852
    United States17.4905723732530669.178302112045078.3122702612079964.46466146764863614.88751735281136
    Vanuatu-4.19921339234079526.984193663658345-31.1834070559991419.45217360676942834.624815990957586
    Samoa2.153534465178452726.055545256707727-23.90201079152927519.64795022236426532.47223537352179
    South Africa-5.6225909517925396.325734483983793-11.9483254357763331.500310194091656811.855481196094425
    Zimbabwe0.66282067227625426.714495479960292-6.0516748076840380.258516169553629913.672890100089978
  • 予測と残差の計算・図の生成prediction_diagnostics.py — クリックで表示
    """各分析の標本内当てはめと残差。SEMと補助回帰を明確に区別する。"""
    import numpy as np
    import pandas as pd
    import paths
    from make_path_diagram import text, esc, SURFACE, INK, INK3, C_POS, BOX_LINE
    
    
    def auxiliary(names, y, predictors):
        """固定した合成指標を使うOLS。区間は合成指標を固定した条件付き区間。"""
        x = np.column_stack([np.ones(len(y)), predictors])
        y = np.asarray(y, dtype=float)
        fitted = x @ np.linalg.lstsq(x, y, rcond=None)[0]
        rng = np.random.default_rng(2026)
        draws = []
        for _ in range(600):
            ix = rng.integers(0, len(y), len(y))
            draws.append(x @ np.linalg.lstsq(x[ix], y[ix], rcond=None)[0])
        lo, hi = np.quantile(draws, [.025, .975], axis=0)
        return pd.DataFrame(dict(region=list(names), observed=y, predicted=fitted,
                                 residual=y-fitted, mean_ci_low=lo, mean_ci_high=hi))
    
    
    def compute():
        from sem_country_v2 import prepare, HCR
        from sem_analysis import derive
        from pref_residuals import compute as pref_compute
        from job_residuals import compute as job_compute
        from muni_path import wide, V, fit
        z = prepare()
        gov = z[['rule_of_law', 'gov_effect', 'control_corrupt', 'reg_quality']].mean(axis=1)
        country = auxiliary(z.country, derive().loc[z.index, 'g_gdp'] * 100,
                            np.column_stack([gov, z[HCR].mean(axis=1), z.init_gdp]))
        p = pref_compute()
        j, _ = job_compute()
        datasets = [
            ('country', '国:一人当たりGDPの成長', '対数差×100', country,
             '補助回帰:制度・所得調整後人的資本の標準化平均と初期所得。SEMの潜在成長因子の予測ではない。'),
            ('health_m', '都道府県:平均寿命(男)', '年', auxiliary(p.pref, p.le_m, p[['wealth']]),
             '補助回帰:豊かさの3指標の標準化平均のみ。医療供給量を含むSEM全体の予測ではない。'),
            ('health_f', '都道府県:平均寿命(女)', '年', auxiliary(p.pref, p.le_f, p[['wealth']]),
             '補助回帰:豊かさの3指標の標準化平均のみ。医療供給量を含むSEM全体の予測ではない。'),
            ('job', '都道府県:転職率', '%(残差はポイント)', auxiliary(j.pref, j.jobchg, j[['urban','precar']]),
             '補助回帰:都市度・雇用の不安定さの指標の標準化平均。SEMの因子得点は使わない。'),
        ]
        w = wide()
        zz = (w[V] - w[V].mean()) / w[V].std()
        estimates = fit(zz).inspect()
        pred = np.zeros(len(w))
        for _, row in estimates[(estimates.op == '~') & (estimates.lval == 'move_rate')].iterrows():
            pred += row.Estimate * zz[row.rval].to_numpy()
        pred = pred * w.move_rate.std() + w.move_rate.mean()
        names = [f'{name} [{code}]' for code, name in zip(w.index, w['name'])]
        d = pd.DataFrame(dict(region=names, observed=w.move_rate.to_numpy(), predicted=pred,
                             residual=w.move_rate.to_numpy()-pred))
        datasets.append(('muni', '市区町村:総移動率', '%(残差はポイント)', d,
                         'パスモデルの総移動率の式:通勤流出率・単独世帯割合・高齢化率・人口密度の実測値から当てはめ。'))
        return datasets
    
    
    def build(title, unit, d, method):
        out = [f'<svg xmlns="http://www.w3.org/2000/svg" width="1280" height="690" viewBox="0 0 1280 690" role="img">',
               f'<title>{esc(title)}:実測・予測と残差</title>',
               f'<rect width="1280" height="690" fill="{SURFACE}"/>',
               text(40, 38, title + ' — 予測とのずれ', 22, INK, '700'),
               text(40, 66, f'N = {len(d):,} |単位:{unit}|全点を表示・各点は国/地域', 13, INK3),
               text(40, 92, method, 12, INK3)]
        for panel, ycol in enumerate(['observed','residual']):
            left, top, size = 92 + panel * 620, 154, 440
            x = d.predicted.to_numpy(); y = d[ycol].to_numpy()
            if panel == 0:
                low = min(x.min(), y.min()); high = max(x.max(), y.max())
                pad = (high-low)*.08 or 1
                xmin,ymin = low-pad,low-pad; xmax,ymax = high+pad,high+pad
            else:
                pad = np.ptp(x)*.08 or 1
                xmin,xmax = x.min()-pad,x.max()+pad
                edge=max(abs(y.min()),abs(y.max()))*1.08 or 1
                ymin,ymax=-edge,edge
            sx=lambda v:left+(v-xmin)/(xmax-xmin)*size
            sy=lambda v:top+size-(v-ymin)/(ymax-ymin)*size
            out.append(text(left, 128, '実測値と予測値(破線は一致線)' if panel==0 else '残差=実測値−予測値(破線は0)',15,INK,'600'))
            for v in np.linspace(xmin,xmax,5):
                out.append(f'<path d="M{sx(v):.2f},{top}v{size}" stroke="{BOX_LINE}"/>')
                out.append(text(sx(v), top+size+24, f'{v:.2f}',11,INK3,'400','middle'))
            for v in np.linspace(ymin,ymax,5):
                out.append(f'<path d="M{left},{sy(v):.2f}h{size}" stroke="{BOX_LINE}"/>')
                out.append(text(left-10,sy(v)+4,f'{v:.2f}',11,INK3,'400','end'))
            out.append(f'<path d="M{left},{top}v{size}h{size}" fill="none" stroke="{INK3}"/>')
            line = f'M{sx(xmin)},{sy(xmin)}L{sx(xmax)},{sy(xmax)}' if panel==0 else f'M{left},{sy(0)}h{size}'
            out.append(f'<path d="{line}" stroke="{INK3}" stroke-dasharray="5 4" fill="none"/>')
            for (_, r), xx, yy in zip(d.iterrows(), x, y):
                label=f'{r.region}:実測 {r.observed:.3f} / 予測 {r.predicted:.3f} / 残差 {r.residual:+.3f}'
                out.append(f'<circle cx="{sx(xx):.2f}" cy="{sy(yy):.2f}" r="3" fill="{C_POS}" opacity="0.6"><title>{esc(label)}</title></circle>')
            out.append(text(left+size/2,top+size+48,'予測値',13,INK,'400','middle'))
        out += [text(40,658,'同じデータで推定した標本内の当てはめ。未知の地域・将来に対する予測精度ではない。',12,INK3),
                text(40,679,'補助回帰の平均予測の95%区間はCSVに収録(600回・指標固定)。個々の実測値の予測区間ではない。' if 'mean_ci_low' in d else '地域名と全数値は付属CSVで検索可能。残差の大きさだけで原因や異常を断定しない。',12,INK3), '</svg>']
        return '\n'.join(out)
    
    
    def main():
        for key,title,unit,d,method in compute():
            assert np.isfinite(d.select_dtypes('number')).all().all()
            assert np.allclose(d.observed-d.predicted,d.residual)
            d.to_csv(paths.result(f'{key}_prediction_diagnostics.csv'),index=False)
            paths.figure(f'{key}_prediction_diagnostics.svg').write_text(build(title,unit,d,method))
            print(key, len(d))
    
    if __name__ == '__main__':
        main()
    

結果の確かさを確認する

区間が0を含む経路は、関連を明確に示せていません。以下の検証は、採用したモデルと前処理に条件づけられたものです。

ブートストラップによる各経路の判定
パス標準化係数ブートストラップ95%区間判定
制度の質 → 所得水準を超えた人的資本+0.197[+0.031, +0.354]0を含まない
制度の質 → その後10年の成長+0.248[-0.040, +0.489]0をまたぐ
所得水準を超えた人的資本 → その後10年の成長+0.353[+0.144, +0.544]0を含まない
初期所得(2012) → その後10年の成長-0.258[-0.527, +0.053]0をまたぐ

再抽出600回中、分散がほぼゼロの境界解は528回でした。境界解も含めた区間であり、モデルの安定性に注意が必要です。

推定の診断と追加検証を詳しく見る

追加検証:推定の健全性

復元抽出600回のうち、最適化の成功・係数と目的関数の有限性・負の分散なし・モデル共分散の正定値性という基本条件を満たしたのは600回、除外は0回でした。基本条件を満たしたうち、分散がほぼゼロの境界解は528回です。

境界の基準は分散の絶対値が10⁻⁸以下。境界解は収束失敗とは区別して記録し、一律には除外していません。これは局所最適性・情報行列・全てのモデル仮定を保証する検査ではありません。再抽出は既存と同じ前処理済みデータから行い、前処理やモデル選択の不確実性は含めていません。

  • 全モデルの推定監査集計sem_audit_summary.csv — クリックで表示
    modelnattemptsusablefailednonconvergedboundaryusable_boundaryoriginal_usableoriginal_boundary
    country12860060000528528Truegov_effect
    pref-health4760060000361361Truetax_income
    pref-job4760060000378378True
    muni18594004000000True

全反復の監査記録をダウンロード

  • 推定監査と男女差の検証コードsem_audit.py — クリックで表示
    """推定の健全性と健康モデルの男女差の対比較。既存結果を残して監査する。"""
    import numpy as np
    import pandas as pd
    import paths
    
    TOL = 1e-8
    
    
    def diagnose(m):
        result = m.last_result
        e = m.inspect(std_est=True)
        numeric = e[['Estimate', 'Est. Std']].to_numpy(dtype=float)
        variances = e[(e.op == '~~') & (e.lval == e.rval)]
        finite = bool(np.isfinite(numeric).all() and np.isfinite(result.fun))
        negative = bool((variances.Estimate < -TOL).any())
        boundary = variances.loc[variances.Estimate.abs() <= TOL, 'lval'].tolist()
        sigma, _ = m.calc_sigma()
        eigmin = float(np.linalg.eigvalsh(sigma).min()) if np.isfinite(sigma).all() else np.nan
        usable = bool(result.success and finite and not negative and eigmin > 0)
        return e, dict(converged=bool(result.success), finite=finite,
                       negative_variance=negative, boundary=';'.join(boundary),
                       min_sigma_eigenvalue=eigmin, usable=usable,
                       optimizer_message=str(result.message))
    
    
    def contrast(e, outcome_sd):
        def coef(y,x,col):
            return float(e[(e.lval==y)&(e.rval==x)&(e.op=='~')][col].iloc[0])
        values = {}
        for x in ['WEALTH','MED']:
            # 共通の潜在変数の1単位当たり、男女とも年に戻して比較する。
            values[x+'_years'] = (coef('le_m',x,'Estimate')*outcome_sd['le_m']
                                 - coef('le_f',x,'Estimate')*outcome_sd['le_f'])
            values[x+'_std'] = coef('le_m',x,'Est. Std')-coef('le_f',x,'Est. Std')
        return values
    
    
    def main(n_override=None):
        import estat_sem as health
        import job_sem as job
        import sem_country_v2 as country
        import muni_path as muni
        hw = health.wide()
        hz = (hw[health.USED]-hw[health.USED].mean())/hw[health.USED].std()
        jw=job.wide(); jz=(jw[job.USED]-jw[job.USED].mean())/jw[job.USED].std()
        mw=muni.wide(); mz=(mw[muni.V]-mw[muni.V].mean())/mw[muni.V].std()
        configurations=[('country', country.prepare(), country.fit,600),
                        ('pref-health',hz,health.fit,600),('pref-job',jz,job.fit,600),
                        ('muni',mz,muni.fit,400)]
        records=[]; summaries=[]; contrast_draws=[]; original_contrast=None
        for name,z,fit,n in configurations:
            n=n_override or n
            rng=np.random.default_rng(0)
            for iteration in range(-1,n):
                sample=z if iteration==-1 else z.iloc[rng.integers(0,len(z),len(z))]
                row=dict(model=name,iteration=iteration,converged=False,finite=False,
                         negative_variance=False,boundary='',min_sigma_eigenvalue=np.nan,
                         usable=False,optimizer_message='')
                try:
                    e,flags=diagnose(fit(sample)); row.update(flags)
                    if name=='pref-health' and row['usable']:
                        values=contrast(e,hw[['le_m','le_f']].std())
                        if iteration==-1: original_contrast=values
                        else: contrast_draws.append(dict(iteration=iteration,boundary=row['boundary'],**values))
                except Exception as exc:
                    row['optimizer_message']=type(exc).__name__+': '+str(exc)
                records.append(row)
            subset=pd.DataFrame([r for r in records if r['model']==name and r['iteration']>=0])
            base=[r for r in records if r['model']==name and r['iteration']==-1][0]
            summaries.append(dict(model=name,n=len(z),attempts=n,usable=int(subset.usable.sum()),
                                  failed=int((~subset.usable).sum()),
                                  nonconverged=int((~subset.converged).sum()),
                                  boundary=int(subset.boundary.ne('').sum()),
                                  usable_boundary=int((subset.usable & subset.boundary.ne('')).sum()),
                                  original_usable=base['usable'],original_boundary=base['boundary']))
            print(summaries[-1],flush=True)
        pd.DataFrame(records).to_csv(paths.result('sem_audit_trials.csv'),index=False)
        pd.DataFrame(summaries).to_csv(paths.result('sem_audit_summary.csv'),index=False)
        d=pd.DataFrame(contrast_draws)
        if original_contrast is None or len(d)<100:
            raise RuntimeError('Insufficient valid health estimates for contrast intervals')
        d.to_csv(paths.result('pref_gender_contrast_draws.csv'),index=False)
        rows=[]
        for key,point in original_contrast.items():
            for scope,subset in [('usable_including_boundary',d),('interior_only',d[d.boundary==''])]:
                low,high=np.quantile(subset[key],[.025,.975]) if len(subset)>=100 else (np.nan,np.nan)
                # 主比較は同じ単位(年)の2本。Bonferroni対応の各97.5%区間。
                family_low,family_high=np.quantile(subset[key],[.0125,.9875]) if len(subset)>=100 else (np.nan,np.nan)
                rows.append(dict(parameter=key,scope=scope,estimate=point,valid=len(subset),
                                 low=low,high=high,family_low=family_low,family_high=family_high,
                                 zero_included=bool(low<=0<=high) if np.isfinite(low) else None))
        pd.DataFrame(rows).to_csv(paths.result('pref_gender_contrasts.csv'),index=False)
        loo=[]
        for index in hz.index:
            e,flags=diagnose(health.fit(hz.drop(index)))
            loo.append(dict(excluded=hw.loc[index,'pref'],usable=flags['usable'],
                            boundary=flags['boundary'],**contrast(e,hw[['le_m','le_f']].std())))
        pd.DataFrame(loo).to_csv(paths.result('pref_gender_contrast_loo.csv'),index=False)
        print(pd.DataFrame(rows).to_string(index=False))
    
    if __name__=='__main__':
        main()
    

データと分析方法

World BankのWGI・WDIによる国別データを用い、制度の質・人的資本・その後の成長の関係をSEMで推定しました。人的資本の各指標は初期所得に回帰した残差に置き換え、所得水準から期待される部分を取り除いています。

N = 128 χ²/df = 2.02 CFI = 0.972 TLI = 0.958 RMSEA = 0.089 df = 38

仮定した関係と根拠:関連と因果の違い

図の矢印は、モデルで仮定した関係の方向を示します。相関や関連があることと、一方を変えることで他方が変わる因果関係があることは別です。モデルがよく当てはまっても、因果関係が証明されたわけではありません。回帰パス係数は偏相関係数とは異なり、ここでは主に「関連」と表現しています。関連・相関・因果と係数の違い →

制度・人的資本からその後の成長への矢印は、初期時点の条件と後年の変化を区別しており、時間順序に根拠があります。ただし、欠損を補うため近接年の観測を採用していることにも注意が必要です。初期の制度や人的資本には過去の成長が影響しており、共通の要因も残るため、因果効果とは断定できません。

制度から人的資本への矢印は、制度が教育・保健を支えるという仮説です。指標はほぼ同時期であり、人的資本が制度を改善する逆方向も考えられます。成長への時間差のある矢印と同じ強さの根拠はありません。人的資本を所得で残差化しても、因果の向きや未測定の交絡が解決するわけではありません。

このモデルは、時間順序を考慮した関連の分析として読みます。制度→人的資本→成長という経路を示しても、制度の因果的な媒介効果を確定したものではありません。潜在変数から各指標への矢印は、概念が指標に表れるとする測定上の仮定です。

矢印の向きと等価モデルの検算記録

解釈上の注意

すべて観測データであり、矢印の向きはモデルの仮定にすぎない。同じ共分散行列を再現する等価モデルは無数にあり、向きを逆にしても適合度は変わらない(方法論 §5に検算あり)。区間が0をまたぐパスは「効果を示せなかった」ものとして扱うこと。図中の因子負荷のうち1本だけ有意性が示されないのは、その指標が潜在変数のスケールを決める参照指標として固定され推定されていないため(台帳に説明)。
データ・コード・再現方法

結果データ

  • 推定係数country2_estimates.csv — クリックで表示
    lvaloprvalEstimatestdsez-valuep
    HCX~GOV0.154300848212844760.190219386646170580.076484685181354392.0174084242480890.04365290886373829
    GROWTH~GOV0.233141709722141350.238313942816194830.14671757765286481.58905097432952310.11204888485457398
    GROWTH~HCX0.425970270757050630.35320130650567010.123125290469550193.4596488595406530.0005408802187119033
    GROWTH~init_gdp-0.22060715570028186-0.239947965935828120.1353136949192633-1.63033871649340220.10302992912366227
    rule_of_law~GOV1.00.9398800550759195---
    gov_effect~GOV1.06399505771113031.00.04002949836791320426.58027457414820.0
    control_corrupt~GOV0.99451744511093810.9347008311655490.03071211158786111432.3819299182162650.0
    reg_quality~GOV1.032412889646850.97001102803770720.04557907960494799622.651025395258790.0
    g_gdp~GROWTH1.00.9192943324083764---
    g_gni~GROWTH0.96189732455380370.8842661648799220.0855925820818439911.2380921470834390.0
    g_cons~GROWTH0.67920233116977020.62436241659897160.088317072854289727.69049866816424551.4654943925052066e-14
    life_exp_12_r~HCX1.00.7622974558347104---
    child_surv_12_r~HCX1.19777251378565720.9130638093415280.172545514561099466.9417771700728653.872013820682696e-12
    school_sec_12_r~HCX0.60134364968292620.45846874460947550.122116906988053444.924327552259668.465094103460302e-07
    GOV~~init_gdp0.7416876307134850.79541776694201140.0572981453196614512.9443566901289520.0
    GOV~~GOV0.87630995695208451.00000000000000020.103183618303884318.4927236643590670.0
    HCX~~init_gdp-0.11444821366788435-0.151310732327676330.045251727229925875-2.5291457513619130.011434053378169828
    HCX~~HCX0.55574967123105630.96381658494395460.127546238483616964.3572407766308521.3171234972242374e-05
    GROWTH~~GROWTH0.68757495628807830.81982518079826390.115385350837815735.9589449725603942.538715682121051e-09
    rule_of_law~~control_corrupt0.066949375005028580.067487204313601020.020796224764713163.21930426119496230.001285020575081397
    rule_of_law~~rule_of_law0.115692799711094670.116625482070486370.022183203516584785.21533328670875651.8348702113257787e-07
    gov_effect~~reg_quality-0.028891407773081603-0.029113512173447860.019331934451192377-1.49449129597090670.1350472552263562
    gov_effect~~gov_effect2.65765487817545e-182.6789315398796105e-180.019701423233402781.3489659333517757e-161.0
    child_surv_12_r~~child_surv_12_r0.1650293954974780.166314480070737960.101870382501237421.61999387303619270.10523359306130575
    control_corrupt~~control_corrupt0.125331076915186020.126334356218431780.0228043548517409345.495927322851763.886625621341011e-08
    g_cons~~g_cons0.60558567958054670.61017157273869220.081263618586804037.4521131362889179.192646643896296e-14
    g_gdp~~g_gdp0.153721723950532820.154897930401837440.0605870675283260652.5372035686679610.011174195628112393
    g_gni~~g_gni0.216417715855995060.218073349648554740.059756227947967233.62167632201984450.0002927002034769366
    life_exp_12_r~~life_exp_12_r0.41567023114090170.41890258882792780.087311617560313914.7607665823966721.9285900085819208e-06
    reg_quality~~reg_quality0.0586464156946622860.059078605485230240.0234154470776624622.50460371299527160.01225886587897218
    school_sec_12_r~~school_sec_12_r0.78348640376843310.78980641021621170.102775784442127057.6232588056964942.4646951146678475e-14
  • 所得グループ別country2_groups.csv — クリックで表示
    グループNCFIRMSEA制度の質→所得水準を超えた人的資本制度の質→その後10年の成長所得水準を超えた人的資本→その後10年の成長初期所得(2012)→その後10年の成長
    高所得490.96320151805689390.10234904657368986+0.33 [-0.02,+0.59]+0.13 [-1.35,+0.63]+0.39 [-0.23,+1.67]-0.35 [-0.98,+0.84]
    中低所得790.90245107694273020.1319971727764143+0.12 [-0.17,+0.46]+0.29 [+0.01,+0.49]+0.31 [-0.01,+0.56]-0.20 [-0.43,+0.08]
  • 分析サンプルcountry2_sample.csv — クリックで表示
    iso3rule_of_lawgov_effectcontrol_corruptreg_qualityg_gdpg_gnig_consinit_gdplife_exp_12child_surv_12school_sec_12life_exp_12_rchild_surv_12_rschool_sec_12_rincomecountry
    AGO-1.4266760625208914-1.168875897979217-1.5027636527490416-1.2449883761559566-2.3047532442247167-2.282893578051212-0.017059406244509554-0.1492825885035483-1.4744619349082184-1.2873089711199308-1.9266218840044733-2.5206536098366152-2.5556086967771354-3.4188619914654206Lower middle incomeAngola
    ALB-0.4362422865716617-0.4475750731744308-0.8665731256272458-0.200686576968218821.581972383890021.46333858363174921.2490414131920229-0.079785454461376430.77260863096969320.347807825626336830.58027477467592081.57038405463549370.92779635920449921.2312091503065388Upper middle incomeAlbania
    ARG-0.5549701896586956-0.08604542517004872-0.5511578548968085-1.0299800025109997-1.0067009690717523-0.7824237096087261-1.39517954013250780.65784618841297690.50508906547859420.196796196900953430.7685597916587921-0.09483698558307224-0.86391977658136190.39748216409446957Upper middle incomeArgentina
    ARM-0.3890079323326976-0.05427358304808069-0.65589427267304390.337665180177488141.44286529615621450.6909974134180817-0.05088200153328351-0.12819030923982640.3078504999636783-0.0137055148520697640.18400803875649450.77799349170490130.222914413277644970.556608633974445Upper middle incomeArmenia
    AUT1.77759778259276181.52561200045652411.39706006591128481.5650629240810978-0.44622184996534614-0.5014482886038479-1.01016407855474451.32270783171128331.10701809529898761.25257519657162850.6725506188274131-0.0197165284968941130.16038258382490417-0.8587782694849424High incomeAustria
    BEL1.36869964123485071.82369270989002131.51475717407654861.0959483904326242-0.2448511960879077-0.3787849094540907-0.64240518390677171.24764372516135951.04239846147222331.18902416620978582.8871362428146337-0.0219551434779762350.16796152145726183.469485882996272High incomeBelgium
    BEN-0.46283657788573157-0.6195169318323497-0.7167779875673542-0.70223556158212840.57002157064051440.5262789314987308-0.42322663367190166-1.399785984695455-1.5163131552764577-1.6010994395257883-1.1016804678053131-0.6236979699273164-0.77985293200164620.1680607010846348Lower middle incomeBenin
    BFA-0.3938793346970267-0.7444213303056305-0.405099895878593-0.379082681089608630.318239520334956060.1343723707221506-0.6076282354217839-1.6877888214878494-1.6455009559649725-1.6779155341295977-2.090754039950066-0.4103032896034698-0.38094845115272197-1.24569340677166Low incomeBurkina Faso
    BGR-0.24196720520503287-0.30205229745470585-0.38659583669854160.253742254950789951.1400243887705981.11498046692426111.63962227898688770.44451521759333610.33072470662801550.45622585926327650.49840173346768346-0.083843787315389790.132020329519546980.2288345913376821High incomeBulgaria
    BHR-0.157959363939650820.26842922448097950.153418180474082480.7702541560164888-0.5191327386818709-0.6728988456608929-1.15615948154771541.21844208539512540.95290884644967120.63256314907092280.6121889232525286-0.14312788032289744-1.0065408419290645-0.8050384447371215High incomeBahrain
    BHS0.67396351232363290.9496739553188741.51012876127378860.5216371102777673-0.7072634509313273-0.493887878618427-1.19924492091853650.79443200892468270.259491567799428340.108848896993165690.3799401982217269-0.7697118218713301-1.32851522413233-0.561384885203786High incomeBahamas, The
    BIH-0.1519040577641831-0.7151397185220573-0.43680104259851255-0.33386383600445841.48588847341888731.1108888814895080.6900340642981858-0.068326299596332780.64986849728468870.79930973395598430.32843587703690051.32282625583327421.90493675474948620.7342851706664478Upper middle incomeBosnia and Herzegovina
    BLR-0.7895120946970302-1.2271460783784265-0.3384506483787273-1.2367715653698357-0.678727535641842-0.58792845286255370.90820619278187420.56297590716390280.055376443906043671.0742430373132160.9511762145215038-0.78570750222342221.2664817546650330.8976292327696006Upper middle incomeBelarus
    BLZ-0.3611951330538053-0.37207285107948007-0.09577865903007415-0.46820765225490557-0.49402806941417526-0.1313250169806042-0.35160096998061-0.12468164940569636-0.042142017655697375-0.0543481163270727-0.113573571432306360.118154291781415070.1259857673199649-0.01437073031938202Upper middle incomeBelize
    BOL-1.1669334984977071-0.3502743437979303-0.7389727095957882-1.06068131403947060.0003603438514600491-0.3227430655011512-0.04814049898779194-0.2837447300464507-0.5753054636914205-0.58291227166134220.18912574884901387-0.6273304523830401-0.73017863454342110.8175794794204363Lower middle incomeBolivia
    BRA-0.060185695835425566-0.0934147924251393-0.0298598498470697070.09819501594611472-0.8957215710283496-0.8129191392634278-1.02014420151049270.283336711810767470.3331122019486003-0.029167607893130890.46860155941906110.1752041784453972-0.62436996256451070.43255627261457863Upper middle incomeBrazil
    BRN0.65350456901163680.70596824387167280.97937435448987550.97455308554864-1.6896580883470986-1.5328005374985721.43745421222280021.65669671434952370.39266519899920550.42999287789836590.8615610132940398-1.8827131278219498-2.3209520955916143-1.0391705050541125High incomeBrunei Darussalam
    BTN0.18385478643961060.46121767756645480.8209954832356237-1.02856349221185580.44633449470653620.219387269626039442.901003249199219-0.1782361782414637-0.20333369274345445-0.6659228191708517-0.3600982876145308-0.0985967473620873-1.1224436591119398-0.3961904526362631Lower middle incomeBhutan
    CAF-1.5155345857303117-1.5991807191937306-0.9990807422008697-1.3579958554843607-2.5937981515471638-1.3302468096154358-1.611973739237164-1.8978975027976182-2.36306767830109-1.7499960621380168-2.445822931777841-1.4198951471952852-0.12545178327642253-1.5808496640606136Low incomeCentral African Republic
    CAN1.67115140902911491.96637502518541351.88042674540320461.7832121887031653-0.3766084475751423-0.19696810961472236-0.35947935183304861.21062854455232421.19225310788197650.95690371267779511.0698761355460910.31665841510453624-0.27290256880486020.07704479244638704High incomeCanada
    CHE1.95241638930624071.97000124871682082.2148171162333641.9154813834001643-0.20003409711600237-0.5585665622852013-0.85627588625205721.5172868407753391.3134578104446391.16882236580046040.6084777666252540.058872980703029834-0.40950089535464745-1.2947773313216864High incomeSwitzerland
    CHL1.18129195926737381.27465861636452331.50803780165818171.5849605253530343-0.2582277092283294-0.079581621811714270.36540685279671630.5896826751705630.9058994924786240.60060545940920310.28111288076072390.76212791046473190.16492171934187316-0.4184184026801718High incomeChile
    CIV-1.1063183806619452-1.2192156639574854-0.8793886978700128-0.98274992739066011.31645370514052652.76446601606144341.0770701769899824-1.0295544056812072-1.7494842401852202-1.5336756537644936-1.5288928000181357-1.6443902141336542-1.3620129453643033-1.2415010758864304Lower middle incomeCote d'Ivoire
    CMR-1.1759624479344146-0.9709161135945342-1.290936747139519-1.098163547300631-0.27181386616921993-0.12310450708310473-0.19691090127811683-0.9993501243280655-1.5619157455376482-1.582980455013764-1.0624008342007196-1.3414465738619696-1.5308646962378718-0.40409727797037936Lower middle incomeCameroon
    COD-1.7721757130371731-1.7568045226176703-1.4343317314467714-1.65146333100782860.419816035389594060.38997821607763034-1.0359278190849865-2.1519814500712893-1.6580445990445287-1.5391907740583828-1.59022614537324560.299448301623093160.84333215661404760.4549093217576579Low incomeCongo, Dem. Rep.
    COG-1.2717691486281828-1.19894634971703-1.28021430045484-1.3422891014245646-2.879880834732106-3.464454206624806-1.3029495745320856-0.3584555832529849-1.0353171968145904-1.0957887839838152-1.1576903944714911-1.3692969669836794-1.7182582853993797-1.6202794258560316Lower middle incomeCongo, Rep.
    COL-0.4840344092817051-0.1989104389805949-0.440975742021454560.133775065721624480.210348903265733830.212242897464186370.75091415005334780.09942071891611360.48269807643004004-0.024043747220193160.56639995916492250.7453480167291059-0.249664697333065570.9154006370521964Upper middle incomeColombia
    COM-1.0957299303539128-1.7747611087717174-0.822413787174009-1.6693456513185376-0.5989724935354988-0.33356991612348613-0.6727303605722131-1.240750000465022-0.9414157191816496-1.0097564717381218-0.84476928127275590.199849621305250250.215378818814936370.39923966680748973Lower middle incomeComoros
    CPV0.62457581207139210.031048449823564520.8917458912541781-0.146286143793186220.157285537513341620.51439437770314781.503350864459584-0.53867272324134360.2135372866107737-0.32920731759582820.29810063779394341.25004375147711970.335267439659053261.4363530338787218Upper middle incomeCabo Verde
    CRI0.457085818173185940.37245901860768310.67344250820457240.64178834293040330.46593269103032020.242059883970452030.32400400129473730.33497384453176820.98842963012355490.46514715026175750.7891294245905761.3187323817596520.368193905147707330.9580558398513235High incomeCosta Rica
    CYP0.99763803912609881.48808602974299591.01867434941577531.02609323648799760.59682388506609350.0743515357978826-0.184764598117316380.92805724570925961.12945769203669831.56599959972925350.495061505318565740.64559181769492621.6341152262210015-0.558519466533479High incomeCyprus
    CZE0.86077871648654820.68550466386708960.40521095361239340.90437571875733020.307226100456261140.3675601073326205-0.034816226153866850.93157063454273680.77162504008313161.44866027509383240.6602318731825368-0.028911673572664641.3673443959764102-0.25042205184569943High incomeCzechia
    DEU1.68860462924135011.7780732518558091.69099052804663421.5367853801366804-0.3101917731193784-0.23773274009821743-0.57605145641965281.27459957973300591.0604118992203931.25257519657162850.8324946644482879-0.030857037742405590.2554291296461471-0.47723086126515024High incomeGermany
    DNK2.00907580010280331.99913559622917882.3110682996280891.885798715543301-0.064449155205630470.27944345645421936-0.38068034014628871.3051190680528311.00322638255954671.23087681967395371.5756484019903014-0.185969240194020470.147084719091567480.8852348900668012High incomeDenmark
    DOM-0.62982307608885-0.618968934742416-0.8243480769501197-0.31162458051408791.32712871699949121.14287690277715970.900468082250520.111304350856395670.1551565926517164-0.6484224475781978-0.143965382405361660.11425170466883483-1.6557314767181397-0.4532661709429059Upper middle incomeDominican Republic
    DZA-0.8759514825425377-0.7872622892515249-0.4861062478273541-1.3003720895131365-0.7838439670560507-0.7437949403350383-0.68036031933930820.065260118560316720.36523330665699705-0.412299690150505050.78606487367614150.5797096081935749-1.041906032857991.387871063993Upper middle incomeAlgeria
    ECU-1.1465083179010074-0.3973505298175772-0.6510556603094586-1.2020518446970219-0.3248877863473441-0.3852420501109854-0.5156957874982372-0.0453517095315537840.4680442877856985-0.0393265605267393150.61519736402218280.94662425089290080.00251800956059163461.2419343916614476Upper middle incomeEcuador
    EGY-0.580818019943301-0.65230190545708-0.5518794231635074-0.66981906607264090.40018507636133360.20647698781046690.2259941023966343-0.03752809283807225-0.2379166339441007-0.47600435974967825-0.32732226370248785-0.38549939506072456-0.9798933257944823-0.56119548075122Lower middle incomeEgypt, Arab Rep.
    ESP1.12652136729103440.8701296048343291.12229334715178550.8464137552042496-0.10951312794002754-0.10958046911289014-0.64675416851820440.96850292567134041.28171984869786711.3451596556081071.6941076700346570.86635516051008631.0651921227788971.6539670829875337High incomeSpain
    EST1.20042153510700131.03475747948613031.1307767250111691.48788906060123030.51210832496599490.67748962902676671.13844346077309270.79698578914417310.56661496285399851.2748229574294771.13122459832464-0.1995904990911121.24830565687365060.8616963137799885High incomeEstonia
    ETH-0.801000884079642-0.5344658737075947-0.6479592908219562-1.11359155385527652.01267223790681671.96364429029383561.9325306513458462-1.8985733349339304-1.1782209436742095-1.3208344392807896-1.68551993718854590.79619656390275160.8261944204831889-0.13541953496773254Low incomeEthiopia
    FIN2.0811753949494312.3241926162322982.13654562765792732.0811079832921395-0.5109687110788771-0.29658883147151166-0.88549951398310971.20937216194530221.07070529221934741.56599959972925351.03624661040995920.091414050709175531.07832677046290430.015188471690279225High incomeFinland
    FRA1.34216456614729741.51764360288783021.49662916376733571.1351867548731234-0.42341149374022635-0.299574406032319-0.63964633293540371.14122344082796421.22796546303666681.23087681967395370.8831091736931730.4930479879291560.47089014960198405-0.16565226359032828High incomeFrance
    GBR1.56295863009232061.51221010299051531.5111261262164671.692072593483567-0.1893841217856425-0.06419162745912875-0.37817534600790791.10826892351713921.10330103671602961.09236202182524060.39273005948060250.312045073526897250.22927850044990428-1.0439920593599163High incomeUnited Kingdom
    GEO0.18291584637901760.56367923452253020.51836690551486660.64992501107168151.6973963911217111.23735400772346221.8423796868262294-0.029681690128055760.138158197824280680.272656103807595250.92833145470293740.3051641162021630.66239563949551941.811481548935871Upper middle incomeGeorgia
    GHA0.16111901603097983-0.06399949693714886-0.03676013003270238-0.12723934647353430.43897109427071080.51217778717939090.7456881191635334-0.8254782312859569-1.1135098130207972-1.1314785466841164-0.9284035052041651-0.7778034690715261-0.8746000159042837-0.4303790040495972Lower middle incomeGhana
    GIN-1.532346945430707-1.3831829713523909-1.2078823418643077-1.25341276953035850.902433793249510.518532399144667-0.3030210461218041-1.4051263352906733-1.6853592610775818-1.724396343697138-1.6612583694006688-0.9312878054313622-1.0423237236793184-0.886337127666701Lower middle incomeGuinea
    GMB-0.784399515054899-0.6994624395283244-0.8124428193902978-0.5978430881208462-0.2394265033159045-0.27998883772282934-0.4030941006788794-1.4671104870855682-1.1246466923904965-1.2214359795019365-1.34168664524082030.214847411760957950.19386386103481096-0.17913480929338477Low incomeGambia, The
    GRC0.350609152827590860.15325901555465937-0.04179749340399620.04916216925476456-0.07344486542429246-0.10536253973032520.061559919732106680.72888477807840691.07156307496925771.25257519657162850.90071337561517020.85195696698150271.33358734092796420.5337924590203027High incomeGreece
    GTM-1.024111638264905-0.8220018035133789-0.8115113609831284-0.61853412347362140.17053324272627050.0616512061773836150.32673694449547536-0.26243347271151923-0.09044090502744785-0.5692031072527488-1.0618191313832920.24544315671513897-0.7419260844204105-1.59324717143904Upper middle incomeGuatemala
    HND-1.268958954773705-0.817646367203828-1.1480446740484507-0.5257788656721346-0.131599288949942-0.156848851764197970.4345085687691872-0.7835121044245803-0.12115524602598779-0.2729787830665853-0.64050906093879081.01107791208816880.94350113807346010.04874768275927692Lower middle incomeHonduras
    HRV0.26837906051528860.33820893524144640.079328095429268860.11685051570747771.05127507719503430.88369111248507760.90241864009457520.64037570441332250.66525997909395151.02202532364661060.64441380067802770.232191192676086730.99793654623594950.18986152634932524High incomeCroatia
    HUN0.58225861340907460.37109523262627080.377313098749895160.73132869824123591.1672714708213290.7994890154921151.54520755492659420.63789707719190360.41850447470240280.94135039309985740.7140846747655639-0.225193446041986180.82419156583049210.32621789098809084High incomeHungary
    IDN-0.4183686627050991-0.3602849190988637-0.8148040061155022-0.30545129768696590.90628227003487050.80588151105327350.7720447971355099-0.29953656566172887-0.30848928005525006-0.5150658845072491-0.06621452861984278-0.1035846079548978-0.54874384646048650.35801929568649904Upper middle incomeIndonesia
    IND-0.15084258323841804-0.18169569128788657-0.5368972895985167-0.5187574065204291.64539185823329981.38196700199877931.9926499700072-0.8314644676439685-0.4006323030508699-1.001347416029969-0.44577280243709060.5643482871177806-0.57461818416587440.4961376542917339Lower middle incomeIndia
    IRL1.5935812025064971.36812867102040041.42953301013545061.5570785488619183.14253888320359031.9764046906500339-0.0252217220210467671.29247242666268681.09643877471672281.25257519657162851.32374699122959580.0082632693244026920.220118090587296620.4271274174699794High incomeIreland
    IRN-1.0481645752892865-0.6524329367070445-1.0316111354708548-1.4763553744992128-0.3955725247124846-1.3452822158678859-1.70590470271161960.092473611350104170.4156423395935328-0.044362331418071570.0302370231039994740.630963056266962-0.28093174270559235-0.09192085486704604Upper middle incomeIran, Islamic Rep.
    ISL1.76548106981351751.47522958301064541.86349020973906091.1878284292411174-0.085557050824061040.468821824033232750.084157115062822421.2760103300952481.33919129294201241.6311212106980691.16745658413804270.48808173115640941.09087260081304140.15681368574114923High incomeIceland
    ISR0.90328292483047611.29175368531232570.76147765292620371.10227495154223120.29221110097862660.48916590253192550.057538994535131090.92929740158967081.19708528403981521.18902416620978580.5973830954841950.77006008187983090.7969122146573238-0.3661434394532822High incomeIsrael
    ITA0.56128460462416210.34440994935920150.14543884837218290.41876460995630804-0.3230508460505426-0.28512164739653884-0.83889160137967041.10269666508380241.25970342478343841.29764864636844960.68514053625676290.61323465937626680.6948624752466273-0.47950314704136576High incomeItaly
    JPN1.40506629280093761.30711532222618441.51909978561186731.4559287869511133-0.2765347861088403-0.1908094175542377-0.88905858518451210.99720596028296771.3601783775565421.47655911404896840.70727102609549670.96769327371848821.2994475433114208-0.2670753692650742High incomeJapan
    KAZ-0.6895522644824178-0.7453005659076193-0.9596069561758581-0.4763315107111475-0.009263464435353080.365659573288889650.140852853625172280.6595315030069139-0.182232237095603460.018059616549719530.6322940698458251-1.3824190294117396-1.26303349060002580.13589770571967083Upper middle incomeKazakhstan
    KGZ-0.9961913452320162-1.0346467428282982-1.214374496602352-0.65575260860441920.306069602474518641.17750245174483160.584648424030546-0.8844697467916498-0.174795260653865-0.392251528978510460.199320473719733631.07026461389723070.87885045218696111.8072268663167423Lower middle incomeKyrgyz Republic
    KOR1.05852746587615831.32709063841511040.52381868588095690.90777860611300540.53021794824595290.43201834387404660.037997957200863420.9792344815006971.09329357130038571.29764864636844960.57137256824309150.497148964827285930.9387843307823674-0.49621283019743434High incomeKorea, Rep.
    KWT0.3310511796689541-0.05759954873543965-0.158126138481415630.05582736588417789-2.082828440937316-2.1174977476792107-1.77109921565237841.37192520272036680.80907011639264780.44739423099796580.6203804183166075-0.6544583300421252-1.7198019489790766-1.037380418453479High incomeKuwait
    LBN-0.5596999148345381-0.36348441575791784-0.986197510040584-0.5055775544319011-3.049317322824677-3.377504783567647-1.98813085300006050.209864178552050580.75584469676056640.2373606117386883-0.35706960245729331.08153721741739960.11097316476948854-1.017289835747751Lower middle incomeLebanon
    LSO-0.22297688741852795-0.55759898997157580.13159713509376877-0.6722531251985174-1.4435787400556421-0.48214938602210033-1.3670772024983946-1.3642750216056652-2.726598866989915-1.395138365939052-0.8418674864766388-2.94236962322864-0.39394282438716650.6042676356066047Lower middle incomeLesotho
    LTU0.60202463220900770.66092107941018020.55944194187442650.98886259857908931.4128968340308130.85062291986638821.22473363501536860.71988314975808630.27782810371673531.005286920118760.8963934936361068-0.61768099408030150.80379065517757280.5401253040750289High incomeLithuania
    LUX1.85718176153613861.93199348617652.21993369121541041.8090615856840306-0.6625731654868899-1.1195672131835392-0.66204115204467731.97545986705646851.1604865533768761.59795728939097330.6910342283121491-0.9507941048809342-0.36445265508292973-1.8779789011739831High incomeLuxembourg
    LVA0.5888512831747260.55944708429594280.380355835375950470.90896837403855870.89962177286109220.85968822825813481.12834307115633450.61630844684818860.26782063830107980.81252411253186870.9027157666426575-0.472791264208004160.58157825201374150.7194277078526116High incomeLatvia
    MAR-0.3620952617687783-0.3009750826523658-0.5368402531131702-0.11524137942746036-0.10812598909186595-0.018976003130802565-0.5509227565871309-0.51164336041897280.02116234928785886-0.44153956534686445-0.4853790052755610.84771298340062330.03312393798120107-0.09567126208960597Lower middle incomeMorocco
    MDA-0.39237305480369816-0.6843159697196707-0.7604346210846432-0.42337857194521851.42437770709825571.05104214900683961.3792030615793793-0.25969672460783116-0.13475396188793670.0234672620194646960.232863140933190330.158278897584290870.56504237548517980.86182496210345Upper middle incomeMoldova
    MDG-0.8834401790110233-1.051885256512904-0.6497151481936364-0.9339914488249599-0.866756514233954-0.6241031135533807-1.1502755233080533-1.8759783486641668-0.994872740156208-1.2279888779943806-1.71605570907085261.10326956849506090.987145847472464-0.22992300534484944Low incomeMadagascar
    MDV-0.5717417395972988-0.1281885763985216-0.7512609264143656-0.38719865666275240.2997831055834209-1.86788082336992640.42649104930631810.213252312814972840.70555289413318590.27988856945563023-0.36579012691538510.98216705165297510.1984507727443819-1.0393285676016182Upper middle incomeMaldives
    MEX-0.63887863601456030.12275525885744937-0.490452159846454960.204477739083911-0.6885461643453356-0.6755918761741059-0.7080739055220640.374942607718340.3088455279535714-0.064221699031347130.32505172074824273-0.014854735365450062-0.88297574120113930.011896106672138952Upper middle incomeMexico
    MKD-0.21271060283307902-0.1893617090489697-0.149980338228792920.120108336117228710.72230865888876470.95710482069775031.2395411467551650.203068290832414950.39963325420433610.4129294365951520.145542757592325020.426348219350392130.5131692428105225-0.05150652644277371Upper middle incomeNorth Macedonia
    MLI-0.8017473451091053-1.0531155709862543-0.705183800603924-0.6849825581055118-0.2179345254257798-0.019835307742190687-0.2527530770725749-1.4858975735564268-1.7347132212317242-1.7642964528460265-1.5727100112679946-0.895973318393156-0.9710980674459241-0.5876625691538134Low incomeMali
    MLT1.30402531943825361.0496935566075940.91792935107249841.24031813914047521.24027922132980931.2097012268475960.137534531519635850.92235787054417581.08471574380124850.78629113116695770.50307613806010630.5709507866025901-0.08116650818241095-0.5340886326891647High incomeMalta
    MNE-0.09182966927216493-0.18636114647387086-0.3663522162854785-0.08433040510544710.63664363918024311.14427751275926041.2182695870875070.317431847578894030.56346975943764990.97273728727825650.395895701434098470.55199460191009041.5268298858528140.2393679510182309Upper middle incomeMontenegro
    MNG-0.25900275643769877-0.6675088512272559-0.6430062960673234-0.52888340779939980.47097208134056891.3402399113258381.181114337988045-0.10736001392581365-0.2336677500562031-0.276841381003059440.3429180835542755-0.26725537387486803-0.40091262587659910.8248434216569508Upper middle incomeMongolia
    MOZ-0.723868751417489-0.6792422487443223-0.6208880008664514-0.6623186122881656-0.28193797968101153-0.3505077379003464-0.2885720838051538-2.0426880640648517-1.7623795741922406-1.4485386174841992-2.0758190140414183-0.068232882415451250.8281382768791711-0.6440944375717127Low incomeMozambique
    MRT-1.0536965067877608-0.7776102196944215-0.7757990950676793-0.8524184986377449-0.5042704459727583-0.5666611582239507-1.0384671069949718-0.7655318997150191-0.6665106442138014-1.026336956384125-2.0234353106382206-0.036842576117306416-0.760215297577378-2.6074221443814354Lower middle incomeMauritania
    MUS1.06895741022796580.96239183783061410.43673665899131020.95147145641152080.31227025474262470.236792500148612-0.45440426006551780.349926881807617440.27782810371673530.091095977729374030.37730772999220547-0.033327752343351356-0.48962606534361160.1515711896099116Upper middle incomeMauritius
    NAM0.256834736199105240.33463363883553150.48851794903699660.08676768204883842-1.4874025931594892-0.58591934956464780.07873041782697762-0.1686056090710072-1.6131453906382667-1.0114286694181422-0.28198707782325316-2.7493957652745733-1.9065390014136776-0.26335864607536746Lower middle incomeNamibia
    NER-0.7391740949659659-0.7133674545549257-0.46684895636432644-0.90209642792938680.2725877910086821-0.0024429990236286927-0.09710025361929833-1.9959691932607908-1.583368892112964-1.808553906009509-2.4759393862458290.19262714427670855-0.061360578881444736-1.479657846461243Low incomeNiger
    NIC-0.8886197581847551-0.8873897923873827-0.8878379363502829-0.5511570414188431-0.011474117885553754-0.2422547524637615-0.033391674665779136-0.68337736133199660.11037461455460972-0.18767614657504048-0.38732866549987541.28574904411432240.9345561409507280.36797556843632007Lower middle incomeNicaragua
    NLD1.84755118365240611.95025510459261022.1070456973399361.8189720120071335-0.009438388577309907-0.05946226179205021-0.55288613845155551.3242002041677471.12674709854697631.20970134646066141.0910770946884880.0148088328351851370.062496728476385974-0.06611896570928467High incomeNetherlands
    NOR2.075417957963121.98184700420450552.17687630178467371.88531676482937-0.264169720792667150.56000958125219020.180985547197909071.61869956514527381.1673488153761711.50537283035449491.117957173820034-0.374455424426383740.13537805864467403-0.4907254409447064High incomeNorway
    NPL-0.6387882865677083-1.2646830833024676-1.0223440989936359-0.977059033215421.1488877656018381.26154815241479131.2599053662748196-1.2444620892433702-0.4841002831690381-0.8485384488368687-0.69186049288359741.06064610265432410.57970469890801390.6957143707692244Lower middle incomeNepal
    NZL1.91385842181964352.00559188256346352.2347316165293542.07264559880057850.0248712543540235280.268116652086330340.41494999476975261.00337799897231681.16220211887669470.89627694330303651.28958019115599630.58783561232875510.00230988406745065480.8291614416261682High incomeNew Zealand
    OMN0.31801277631605934-0.03332608925314265-0.044203855500958750.8003478286393895-1.1049024427644447-1.5266494114223113-0.42621700721810520.98821946244890870.784683352812630.3322545060483991.0653185792203312-0.09397761715976652-1.21668074426254050.4276181347112347High incomeOman
    PAK-1.1322090191245227-0.7772304943149686-1.3024110852856274-0.99433995523634660.55604829578593150.58415602099825651.135045676430681-1.017624741265908-0.7749486801819302-1.4015918070540843-1.8918145058169290.15862242298041554-1.0931032304772086-1.9502077010296723Lower middle incomePakistan
    PAN-0.30425289377926320.15816467701588233-0.49157050814774360.40797338093134840.436602202156065770.59870203592941180.214369100571290770.59789142512801120.6311116478199302-0.06422169903134713-0.20235402805847610.23545699405103135-1.3234514209096553-1.350113356968096High incomePanama
    PER-0.52641219150792-0.20406521896401866-0.389939020488818340.167873790381395240.0005345467260524034-0.078492981763422480.1455958881852269-0.0164704655012049940.2913782118895162-0.093193761064966780.53707313897894160.5707354964501281-0.173822558273522781.0468742499168002Upper middle incomePeru
    PHL-0.52673614528708720.14955332448784853-0.67159333319941580.035619923512644861.05653588218401740.66149750772779490.9690948149745147-0.6261561122697841-0.2645279141222254-0.47600435974967825-0.0119090059292169470.494501464429697060.183047702406790440.9887330557338527Upper middle incomePhilippines
    PLW1.3411371698762238-0.38714834120697794-0.24705736454968394-0.6594944599333633-1.3743738393519505-0.9566190220243846-0.51694300787302460.24478395939101608-0.3083720497460948-0.148420703772839250.8958480525701122-0.9631304846946616-0.81226927433467211.306461077893178High incomePalau
    POL0.90244895420871710.5493251059079940.82095226752611150.82546389852304711.38135126851203351.2314176389638441.14876503213963340.6617120171588170.61579450718231890.98886140233951480.6893857967167220.106016316712184770.88234651219991020.2408322502820642High incomePoland
    PRT0.92091126940709880.8802331221392870.8053458268258540.66645946785690170.082996173869190210.15881977272033215-0.014403131401498750.82365319442167261.0409688235557051.32108309156015371.04697577690277650.64507363327633041.29805517616355210.6585771031086562High incomePortugal
    PRY-0.8111668271373877-0.8982659166253288-0.7998474512998179-0.5920105210187940.111300306458540890.168785128818971620.03956015284291389-0.054072424825710830.18891892168828062-0.32920731759582820.0337166386189766550.4385849344651203-0.62214802596932020.1513879357975036Upper middle incomeParaguay
    PSE-0.7868016112914639-0.5893323184548913-0.4605575122962357-0.5015975743426663-1.0511794826711427-0.3671772065880555-0.9123340619584837-0.72157755841073110.2612500224367494-0.17478486967418490.225786942195075421.62814263294371481.03857324070984271.5944042739957185Lower middle incomeWest Bank and Gaza
    ROU0.14122846434970446-0.28952316360182145-0.388108077111111450.227686151257543631.26220120062923221.57159136120782871.89321567489857160.59266684135957080.34216180996017750.347807825626336830.5744343032511309-0.296470993587192-0.40075467557858610.13398083425521934High incomeRomania
    RUS-1.0282608761332073-0.9697926399865376-1.1205795951217725-0.5820425058552712-0.4519467741713963-0.509174234808268-0.77150271963911020.8470009553355657-0.16661773177136160.45622585926327650.5038690976539334-1.6493400352743366-0.6631629819004389-0.4108670791752565High incomeRussian Federation
    RWA-0.35279221377736-0.182967490148878280.4224297837799613-0.2795333634169331.18378476173976850.7069086360747524-0.6122381504017249-1.661831730691956-0.8563065147353148-1.0377599163258644-1.55842794495199531.02406484142946950.9852926464529138-0.2763653100736748Low incomeRwanda
    SAU-0.20896714862712235-0.09494674401885414-0.219302358750848580.15269967835323775-0.15401821954753006-0.84659382277133530.50390470599932151.29497099413545120.53885139451515680.37976551528805650.4108005399287109-1.038070874437635-1.717518166635368-1.3112217173699299High incomeSaudi Arabia
    SEN-0.22558797591457608-0.34211709147220165-0.28720795603011084-0.37866817281997270.36005894571580260.6334519642594878-0.32690911772837894-1.2212664686156036-0.7343869932143924-1.0912238925977267-1.30918021282668270.5561070320649624-0.0035112210631383024-0.5144657060367144Lower middle incomeSenegal
    SLB-0.4273471258385585-0.94244190894637-0.4318810526816932-1.2616568419538645-1.7008367530598405-0.7763670602757665-1.4593743123286902-1.4112269877650667-0.2968834794489311-0.3989851988299182-1.2119634700818831.67404898562354561.9046439226111205-0.02296329488816621Lower middle incomeSolomon Islands
    SLE-0.7931880234723931-1.257332601523091-0.8113596418693042-1.1467879073691551-0.5463486263908194-0.37493925875560791.0008481234241047-1.3956183728693519-2.1493568247120125-1.8970148822262065-1.3779622776031408-1.8137309577605294-1.44334504995168-0.36352001406452056Low incomeSierra Leone
    SLV-0.8657030785228231-0.366509593110338-0.443905952778588240.14314836114910180.21846575758161718-0.09141465713769185-0.41052178153181107-0.3504621616878048-0.008614149237443747-0.00324420539901947-0.40805149272520960.53745810324816070.6852175522550955-0.2091101744954785Upper middle incomeEl Salvador
    SRB-0.23755417640226587-0.39798542131538106-0.4231525107614259-0.412366950646941570.89272149769824070.79703852077493160.467483390634330360.243272602906861150.391913209455119040.7483540334542690.45334610500946990.34841239426544471.1764834196842980.4682865189638766Upper middle incomeSerbia
    STP-0.6214307799720442-0.9201698854959189-0.18232177880229644-0.915988038671087-0.081236198988589571.6183664712730976-0.32962477471287205-0.8975762432701142-0.8192617370424191-0.5296390147859257-0.9429437420452783-0.113838065142731470.6005217063506778-0.3415494648040541Lower middle incomeSao Tome and Principe
    SVK0.339121520422761840.463030046644911760.164778548789626250.9580941730597880.3997798592226427-0.062321357102371310.68690307084062030.71880781297872950.54116740793992390.81252411253186870.4858126608102406-0.123680039485314310.3790722307188127-0.2381133450964063High incomeSlovak Republic
    SVN0.82637398370059360.82628315345449520.68764861552047190.59525798316961090.48349823959599350.34737574453740040.205458680080586960.87843163231574311.01180421005867061.53516346684476930.5989180460524650.50402791307783181.6638778230588285-0.2810700070985533High incomeSlovenia
    SWE2.0259294954639822.03423669308202732.21914848549580232.103971519330179-0.2341566069091919-0.13453989014389667-0.354053728367336341.2450878245046741.19708528403981521.50537283035449490.78320813665265830.271262863597343030.8735155707327347-0.5231930173723385High incomeSweden
    SWZ-0.6561055093005721-0.28615337936690344-0.1330710315558452-0.562938667117637-0.06513192614863561-0.7193761649626421-1.083246356454886-0.4015281220393549-2.435984930595333-1.1657751773478897-0.46817756155734913-3.919756103460039-1.7881345714571197-0.24085010061611953Lower middle incomeEswatini
    SYC0.132727412321322040.66621346873061030.40544085293578840.08836188567117964-0.3250332180439322-0.20418804330043036-0.006113849692170240.52975006785675650.326149865295147060.133091527301780230.09648769730120456-0.2270264043354763-0.7519067213760047-0.6723465591349737High incomeSeychelles
    TCD-1.6503249165549272-1.4865039235511381-1.4378047686458104-1.440350524912253-1.7050842252915028-1.616150562945524-1.3684535460204899-1.3666955454677863-2.4300061848284416-1.8672452734968703-2.206321577970678-2.3840780410283293-1.4345672018392321-1.9838599511092556Low incomeChad
    TGO-0.9747226758550831-1.388095635293369-0.8627484837653627-1.07354628874197760.70257994546348810.63708669497842430.43389669479044407-1.553840618473872-1.5873547226242248-1.411183966023875-1.0746345317879242-0.5131750363127147-0.054952189792575710.4682659060586634Lower middle incomeTogo
    TJK-1.3045206653424-1.1443688103087244-1.369821300577342-1.15153668752954541.59921086882185560.7400775236003001-0.22270418459901387-1.4253558253678635-0.27707155720178167-0.65345821846952970.164621368095368121.73340337097726851.36906748060397242.6149391672610793Lower middle incomeTajikistan
    TLS-1.177771119748233-1.4217436114988269-0.8511361441411361-1.24804846758130060.37122701735420655-3.73967812551361-0.19653861054117008-1.0164175353008933-0.8334466044501411-1.209516193810307-0.43769415496244890.04735605596865419-0.67016702131279520.810217539809448Lower middle incomeTimor-Leste
    TON0.020681897368002296-0.4211586426906894-0.24998881298823764-0.5759164108422574-0.043120662031158990.264274220086701150.21144885341053116-0.73650234156339490.0061568697160530970.24430720614061130.46608526547701631.17483003908308171.99607339265345952.0750023845616323Upper middle incomeTonga
    TUN-0.19746121493736740.05226734275810522-0.016416773125372437-0.29523289150055476-0.6960070074932942-0.9005005844014252-0.3861879418986887-0.081701979896041470.3640610035654508-0.088430933060027260.197424706299304920.809647574753705-0.034399378877882190.507008977109706Lower middle incomeTunisia
    TZA-0.4712146747297482-0.7255106032358487-0.6559767847675778-0.64005428485015880.42435516240943820.5221504275583648-0.6644861189698118-1.3863565804009423-1.0793957930567697-1.151647226477729-1.82701308885820260.17188978998519450.18885615162405095-1.2315359739465943Lower middle incomeTanzania
    UKR-0.7220973132523151-0.825876190683382-1.2715003012912345-0.8662850374318097-2.2155618409345146-0.5548189744636778-1.32818992273858180.2361510278283256-0.0473001512585052440.3879398962409960.6492547218264106-0.46143098523477550.39247290697054580.8519544273955317Upper middle incomeUkraine
    USA1.44279312952033381.53455830493284751.284648785661981.46988685477671990.133753906458620540.148720916193317870.211577944152823771.319343513755670.84968327032518580.7608186341555910.5277862797344743-0.49547982359334974-0.9218882307659017-1.1283513712221613High incomeUnited States
    VUT0.38226069920981720.0055210159741979820.40502179463567445-0.716634304469882-1.042780700273907-0.39047003668207633.4406294295273683-1.121175882702759-0.18703867977094712-0.14842070377283925-0.98348895831718931.42125804787092311.886431247566787-0.05741848373016367Lower middle incomeVanuatu
    WSM0.8654475425590993-0.13208938201487480.1668590912532982-0.218871293433374-0.6981840415981188-0.429222674228352860.3266898418198127-0.6782084509278057-0.0392112599268284-0.107329287570524730.0182860869655049680.9979397576493431.10225951786837361.1301683450799898Upper middle incomeSamoa
    ZAF-0.0023149293003340660.24805922306948838-0.048202288461952770.5938643551283513-1.1199899901783712-0.7610021479155661-1.18273294953388650.05721609885351833-1.1437552327827176-0.83638978138967050.3792666478918673-2.2285792391725443-1.96509448363905140.6280738836866152Upper middle incomeSouth Africa
    ZWE-1.7433949440733207-1.5279250766775903-1.3887437992167986-1.9473680407073106-0.7790458991119484-0.09839482530859588-2.9425330105318914-0.8826895945588743-1.888284926224423-1.2370816085096217-0.22225952824548317-2.135848493807816-0.9954100145400441.003481090486292Lower middle incomeZimbabwe
  • 初版Model Bの推定係数sem_estimates.csv — クリックで表示
    lvaloprvalEstimatestdsez-valuep
    HC~GOV0.20369054330726750.204296524592780080.061737908579989373.29927832006264050.0009693375343915456
    HC~init_gdp0.70531188630039430.75265779402614940.0616699386631397311.4368832137419340.0
    GROWTH~GOV0.228153960770987370.233054808993199050.14594373436552991.5633008279614860.11798185366190328
    GROWTH~HC0.90051967621321840.91713475354219150.24664990638402813.6510035191640390.0002612176602889704
    GROWTH~init_gdp-0.9888206168495532-1.07466676326768270.21838146611995238-4.5279511783380315.955833728421567e-06
    rule_of_law~GOV1.00.9399153953586643---
    gov_effect~GOV1.06392618465782981.00.0400647690260915126.5551558262674770.0
    control_corrupt~GOV0.99449754375396960.93472919283363920.0307123883343053532.380990136502910.0
    reg_quality~GOV1.03235100109456560.9699790829954120.0456151560470911822.6317542355040470.0
    life_exp_12~HC1.00.9370908330432034---
    child_surv_12~HC1.04396584867550010.9783091255737930.0412892669300737225.2841943262941840.0
    school_sec_12~HC0.94271509458609470.88341769187478240.0549075525337803217.169133408176350.0
    g_gdp~GROWTH1.00.9201396587585864---
    g_gni~GROWTH0.96013982202564720.88342387467206050.0852417437576513411.2637280713558940.0
    g_cons~GROWTH0.67833062067482950.62406751245532630.088217395915922477.6893067815517711.4876988529977098e-14
    GOV~~init_gdp0.74173916318410090.79539655744815220.0573205610680424712.9401936992674940.0
    GOV~~GOV0.87647847451389941.00.103208602760344318.4923005550286850.0
    GROWTH~~GROWTH0.67938708861632650.80879069657203860.114518799286056175.932537651860592.9828794989583685e-09
    HC~~HC0.128218779443783320.147160280796043040.0211125433924653366.0731091017422871.2545715577516603e-09
    rule_of_law~~control_corrupt0.066891269029459850.0674215970129630.0208563062621237963.20724428312269530.0013401314484651206
    rule_of_law~~rule_of_law0.115640437434965690.116559049567765870.02223975151332985.1997180526254881.9959105412858946e-07
    gov_effect~~reg_quality-0.02886747212780446-0.0290864680714131570.019415009796121353-1.48686363949631460.13705082926596956
    gov_effect~~gov_effect2.777025808020451e-172.799082286863361e-170.019786021012581511.4035291917026909e-150.9999999999999989
    child_surv_12~~child_surv_120.0425748002818125550.042911254819040250.0131622354372232853.2346177426803080.0012180568651807278
    control_corrupt~~control_corrupt0.125289951022679170.12628133606457340.0228582355564732235.4811733262463984.22514292441889e-08
    g_cons~~g_cons0.6059192832829780.61053973989782110.081287613607487577.4540173635963589.059419880941277e-14
    g_gdp~~g_gdp0.152137971815324760.15334300837963230.060375541358003822.5198609965364130.011740118645944042
    g_gni~~g_gni0.217856002831612630.219562257659403680.0595447517378411843.65869361227858870.00025350418953018483
    life_exp_12~~life_exp_120.120909819209191670.121860770626394980.0192477150115527646.28177522008913953.347286892108059e-10
    reg_quality~~reg_quality0.058716052731074450.0591405785513795040.023488965500847852.4997291909877990.012428827509351148
    school_sec_12~~school_sec_120.217855767829775670.2195731816826320.0301454117624174567.2268300575728584.944933351680447e-13
  • モデル診断country_model_check.csv — クリックで表示
    iso3countryregionin_estimation_sampleg_gdp_actual_pctg_gdp_predicted_pctg_gdp_gap_ppg_gdp_residual_sdg_gni_actual_pctg_gni_predicted_pctg_gni_gap_ppg_gni_residual_sdg_cons_actual_pctg_cons_predicted_pctg_cons_gap_ppg_cons_residual_sd
    AFGAfghanistanMiddle East, North Africa, Afghanistan & PakistanFalse-33.6181469328756412.77629154318311-46.39443847605875-3.12042808905132912.0994512272835116.62817425674904
    AGOAngolaSub-Saharan Africa True-24.01549470645563-6.550697656153437-17.464797050302195-1.2181238194315134-29.66284706327932-9.549422917260948-20.11342414601837-1.23735730797141818.3600287524979324.56327830651614313.796750445981790.8156324793289456
    ALBAlbaniaEurope & Central AsiaTrue55.56436114254843523.28690655141596432.277454591132471.369179363264198259.8707396532194524.1016790111272235.769060642092231.246020897044119344.54769268939622.82397414892030721.7237185404756941.0717535591626817
    ANDAndorraEurope & Central AsiaFalse9.86941836029229317.905901127228585-8.036482766936292-0.41564482468894617.93812703028602219.68089149696896
    ARGArgentinaLatin America & Caribbean True-3.47235306334726667.650925798995869-11.123278862343136-0.6421486506526312-2.27478254815989276.303022447536298-8.57780499569619-0.4139264248467726-4.78207374180563713.519278200304749-18.301351942110387-1.156958066885347
    ARMArmeniaEurope & Central AsiaTrue51.6256591623989620.44148079969480531.1841783627041561.355669138400460234.97516822903545420.83760030592205614.1375679231133980.544347725310776717.7297238415280221.16926931791461-3.439545476386588-0.18951103306448408
    ATGAntigua and BarbudaLatin America & Caribbean False8.56741538871299516.992964152373087-8.425548763660093-0.440068425464519316.8963181951646219.141722028334733
    AUTAustriaEurope & Central AsiaTrue7.03496466649449217.384522386658606-10.349557720164114-0.5434406338616163.932463805275432417.343009172602596-13.410545367327163-0.5970723079785611.18498154963595519.373186737785623-18.188205188149666-1.087857023661923
    AZEAzerbaijanEurope & Central AsiaFalse7.8258529250139190.398652168543324147.4272007564705950.4202041379047541-1.8318932676875789.012110276846927
    BDIBurundiSub-Saharan Africa False2.891382905443551430.661364257775354-27.769981352331804-1.406800860308311332.610336828776845-5.51646802251849527.03955206995471-32.556020092473204-1.9484373176911591
    BELBelgiumEurope & Central AsiaTrue11.08313306053327822.81595339583174-11.732820335298463-0.59118208875536566.76450889432587123.560690632764242-16.79618173843837-0.71882292863705717.2334439697408622.55121422167497-15.31777025193411-0.8786922865368845
    BENBeninSub-Saharan Africa True29.0891468674314315.4578153706852813.6313314967461510.657066196241533530.18926906845904815.14706065412594415.0422084143331030.604054358892315711.00882905078295318.23108953914448-7.222260488361528-0.41480540549469325
    BFABurkina FasoSub-Saharan Africa True23.2341757587146917.724104446083645.5100713126310520.2693232193537038519.47351959463152617.730576300441451.7429432941900770.07230196178918127.82379742369876219.57366449861499-11.749867074916226-0.6806941960660708
    BGDBangladeshSouth AsiaFalse71.7787616346252717.10511316713321554.673648467492062.255823160640779717.0242365934335159.0449371929812719.20805063860859739.8368865543726761.8973927892145668
    BGRBulgariaEurope & Central AsiaTrue43.3924160616675313.77152000173187429.620896059935661.362393573673016648.11894207200191413.2293663674456634.889575704556251.32146998411495853.74113243356000417.2249297465230836.516202687036921.7845900559143832
    BHRBahrainMiddle East, North Africa, Afghanistan & PakistanTrue5.6058958746868066.794867241279641-1.1889713665928348-0.065917780352387560.09946194409222735.33863086596094-5.239168921868712-0.2509902178839248-1.120478771888122612.994023799182616-14.114502571070737-0.8781127576698925
    BHSBahamas, TheLatin America & Caribbean True2.00600794321241748.593272922804996-6.587264979592579-0.36844499121921974.1048250147159637.365877267790544-3.261052253074581-0.15174806791036108-1.79076201725610914.095456844308558-15.886218861564666-0.9867138592201116
    BIHBosnia and HerzegovinaEurope & Central AsiaTrue52.8330535999127725.48384316145772427.349210438455051.160891712774857547.9861749298129726.62916980910645721.357005120706510.766786789763142732.3380208898140324.0906369012643368.2473839885496960.4234647099853807
    BLRBelarusEurope & Central AsiaTrue2.54404347727714711.777840158208255-9.233796680931107-0.5076512223178161.98108524910196610.96729370106067-8.986208451958705-0.4154715893683279536.9755020222340116.02726416635897520.9482378558750361.092283534556695
    BLZBelizeLatin America & Caribbean True6.09578590115311715.47064033910422-9.374854437951104-0.49854305078486812.7148964771007815.161660768531956-2.446764291431176-0.1056550757883208312.27118414711516618.23871810798279-5.967533960867625-0.34081611025858966
    BOLBoliviaLatin America & Caribbean True16.2199349142340611.3752767327378384.84465818149622150.250696541150896358.08395699818575910.51122544203117-2.4272684438454117-0.1092637910070274217.78068818284818815.7843485829363731.99633959991181520.11250062045051569
    BRABrazilLatin America & Caribbean True-1.477114097317888712.382015002831645-13.859129100149534-0.774922506168518-2.92577200635469911.652205592400389-14.577977598755087-0.68834898069015861.025684578380192716.391149497951233-15.365464919571039-0.9317403624660295
    BRBBarbadosLatin America & Caribbean False3.803546157833648221.436375567002802-17.632829409169155-0.923738209373356421.9776486617006621.749676213947293
    BRNBrunei DarussalamEast Asia & PacificTrue-14.89173348846544-2.029210185635653-12.862523302829787-0.8286789688135237-17.09471640450073-4.537002847973888-12.557713556526842-0.693894153043694248.911787568606987.472963158269557541.4388244103374252.1461410042606315
    BTNBhutanSouth AsiaTrue26.1789484209765911.76459080051915714.4143576204574320.714226888975415421.72051476909455710.952279663926210.7682351051683560.455712009079297287.6171680309172416.0192750550978371.59789297581943.1631091415590435
    CAFCentral African RepublicSub-Saharan Africa True-27.95844513663421413.095624253801063-41.054069390435274-2.6553403810507703-13.33130911704035712.461846910841665-25.79315602788202-1.281723884747029-7.98578471468244216.819891052097134-24.805675766779576-1.5708057579639474
    CANCanadaNorth AmericaTrue8.41744453385231319.682356363458563-11.26491182960625-0.582021538327805211.10486976932345519.968615918228043-8.863746148904587-0.377625688376410412.13163315374914420.725054694298812-8.593421540549668-0.4859509419704186
    CHESwitzerlandEurope & Central AsiaTrue12.00472307644861815.67660712230252-3.6718840458539024-0.189924901478387862.63947777518431815.396167503257956-12.756689728073638-0.57635221562473263.673295132000897718.361183002594707-14.687887870593809-0.8719495910947106
    CHLChileLatin America & Caribbean True10.80953927930787922.327103709663223-11.517564430355344-0.582219192470350414.00043250435205522.99945470136079-8.999022197008735-0.3737982142192045625.7267305769448122.26762515896283.4591054179820090.18359798907339162
    CHNChinaEast Asia & PacificFalse75.9651990672287221.40700682857097854.5581922386577462.18518259327268221.943976085584489.747777471424521.73257153842583468.015205932998672.921074745356163
    CIVCote d'IvoireSub-Saharan Africa True48.132973491055885.27847476457482342.8544987264810542.0106901819352405112.626055789597663.633028805700531108.993026983897123.535787090655343240.67616257762498612.05925478686122828.6169077907637581.4967205968882404
    CMRCameroonSub-Saharan Africa True10.5323473584106646.57752121757369953.9548261408369650.214525335207121612.918157665729685.0939536974273297.8242039683023510.3532867067855527415.04668964178346312.8603855823791112.18630405940435150.1262652455908779
    CODCongo, Dem. Rep.Sub-Saharan Africa True25.56359502737759523.2802709452572962.28332408212029850.1080526746956299926.35762029466972624.094054593594952.2635657010747750.088932843990740890.774267346682244822.820134069486645-22.0458667228044-1.3019589678189116
    COGCongo, Rep.Sub-Saharan Africa True-31.6594796785177870.547823509468493-32.20730318798628-2.273458080201404-45.71020226916874-1.6653831715001237-44.044819097668615-2.9225822154671572-3.38553181517665679.106166086891724-12.491697902068381-0.8001952886007175
    COLColombiaLatin America & Caribbean True20.8072666947409316.3163646613393324.49090203340160.2230454627740249321.5300691564502616.1249499138911225.4051192425591380.2238279819514016633.6160661612392418.7409921060176914.875074055221550.7767212210438561
    COMComorosSub-Saharan Africa True4.06289664525036914.772841396441757-10.709944751191388-0.57676486452416797.82778520831923814.367611114489028-6.53982590616979-0.289692850488393276.72129997200201517.823134725340672-11.101834753338657-0.6512750844846287
    CPVCabo VerdeSub-Saharan Africa True19.6312434148176124.1672400430996-4.535996628281989-0.2191162359886874329.85059989049019825.113710002190884.73688988829931650.1828289917129058150.4690113754475223.33266482147566427.136346553971861.3087632635639541
    CRICosta RicaLatin America & Caribbean True26.63565613877427721.991276443108724.6443796956655560.2199949867579020822.32687117096643422.61408367931646-0.2872125083500272-0.0115378086905548624.9076304855617922.072531406812012.8350990787497780.15109253173272336
    CYPCyprusEurope & Central AsiaTrue29.7285665060950127.670633742359712.05793276373530180.0941490533737592417.91215839465882829.151213262631913-11.239054867973085-0.447922071439981215.2675065618825625.342252524637598-10.074745962755038-0.5514328298331137
    CZECzechiaEurope & Central AsiaTrue22.984220023792921.5275125714972581.45670745229564250.0701553010795611225.7382975769135522.0821486598763173.6561489170372320.1451775440226227618.02869984598460821.802744370653418-3.7740445246688097-0.20713548261087775
    DEUGermanyEurope & Central AsiaTrue9.75308122027085619.482619280186476-9.72953805991562-0.500096334732931910.11663288579693919.74010237490286-9.623469489105922-0.412201509032048.36264140029658920.607979070340534-12.245337670043945-0.7045686465238642
    DMADominicaLatin America & Caribbean False0.686542998513095612.11168429985415-11.425141301341055-0.632840279512893711.34568551164216616.22843503759181
    DNKDenmarkEurope & Central AsiaTrue14.83962059750496821.164806131645697-6.325185534140729-0.3156747553405616623.33326079975095321.666326082381721.66693471736923370.0669485433999693311.75695763206110621.591445014409718-9.834487382348613-0.5550370542821456
    DOMDominican RepublicLatin America & Caribbean True48.424782081539865.401022026859032543.023760054680832.015427616313117749.0273287386167743.770738650558481545.256590088058291.780715690755765336.8082735431915112.13500683579858324.6732667073929261.308796543504379
    DZAAlgeriaMiddle East, North Africa, Afghanistan & PakistanTrue0.57601942819258688.681411617712206-8.10539218951962-0.45634489425814656-1.44389864647221927.465354093756292-8.909252740228512-0.42577578608208266.59282769702420614.149240054066553-7.556412357042347-0.45073161339249906
    ECUEcuadorLatin America & Caribbean True9.45613442860064916.33725093546548-6.8811165068648315-0.35897558756405556.613520705856390516.14875217586606-9.53523147000967-0.42144047589949619.40008857170688818.753377020256572-9.353288448549684-0.5398815482059147
    EGYEgypt, Arab Rep.Middle East, North Africa, Afghanistan & PakistanTrue25.10999801089087.38614843373667117.7238495771541270.899432201278269321.3765861529825726.004621567236255515.3719645857463160.666221950736394322.9898405730840213.3570055694716629.6328350036123580.5367384544676557
    ESPSpainEurope & Central AsiaTrue13.8895212084902324.073750708491065-10.184229500000836-0.504273709813971113.2533523022043725.006186394288704-11.752834092084335-0.4857648873339397.159845853424795523.278714974434422-16.118869121009627-0.922161487151893
    ESTEstoniaEurope & Central AsiaTrue27.7182591524909324.7504996871911872.96775946529974280.1384279457269093634.5761631868698525.7847847803309348.7913784065389140.3323743156602581642.04579224650523.6688625410240318.3769297054809720.9117359328200282
    ETHEthiopiaSub-Saharan Africa True68.4199255645760228.3245947796673440.095330784908681.60087669207591678.3981972849352929.90662455970321448.4915727252320751.560584826772683661.01724422052665625.71479995585633235.302444264670331.628753150989122
    FINFinlandEurope & Central AsiaTrue5.76495919633450727.835326386742825-22.07036719040832-1.11587654156696658.70530037566583629.341403541012628-20.636103165346793-0.85514188964945683.19609862612064825.43614955479932-22.240050928678674-1.2843739831967982
    FJIFijiEast Asia & PacificFalse19.501868080200812.5456108553392296.9562572248615720.3531113193884402611.83775283434796516.489539628406426
    FRAFranceEurope & Central AsiaTrue7.48601161923034820.91049667999879-13.424485060768442-0.69293383461428858.63419218067489421.374879543725868-12.740687363050974-0.54559936526955517.28015836457527321.443135602092433-14.16297723751716-0.8160521460839476
    GBRUnited KingdomEurope & Central AsiaTrue12.22484429175714219.460101670011337-7.235257378254195-0.36785793192995214.38560982452159519.714344002452645-5.32873417793105-0.2240159515435055611.80116196212046620.594775260130845-8.79361329801038-0.4982691336865867
    GEOGeorgiaEurope & Central AsiaTrue58.91005065929131525.3385795715645433.571471087726781.397289345447435852.1453547803333126.46185508343547725.683499696897830.909657337562490258.74186582454872524.00717238245190534.734693442096821.6250966149844075
    GHAGhanaSub-Saharan Africa True26.0077809861561914.13417480668533211.873606179470860.582708827782381429.7875321837491213.64144851510042116.14608366864870.653603245088462333.50587438962282517.4418392666286216.0640351229942060.8436909995902234
    GINGuineaSub-Saharan Africa True37.2473079672139149.13350410212608628.1138038650878281.349556481798046529.968419273923447.97578285301996121.992636420903480.912062646796361213.13553330319674514.424825040748038-1.2892917375512933-0.07457220580385034
    GMBGambia, TheSub-Saharan Africa True11.19427833478363621.583878607222534-10.389600272438898-0.5259300259273019.1015163792063122.146784934207265-13.045268555000956-0.555670055892487211.36221065440996521.835557395696377-10.473346741286411-0.5915222723366932
    GRCGreeceEurope & Central AsiaTrue14.64932983875535321.475914980667195-6.826585141911842-0.340537426239321213.35809752447401222.02298419291441-8.6648866684404-0.362383833454485119.8382177241779121.77270166423461-1.934483940056701-0.10538422427694565
    GRDGrenadaLatin America & Caribbean False24.42774225269577222.4137836450671272.0139586076286450.0960781584986798323.098946631762622.317944090238083
    GTMGuatemalaLatin America & Caribbean True19.9237706226219379.21231940380312910.7114512188188090.550876422993893817.584401090603958.0647988390645339.5196022515394180.415359403321330724.9615332351264414.47281998683507910.488713248291360.5769411759526439
    GUYGuyanaLatin America & Caribbean False221.3541743728078810.176850004202858211.1773243686056.30263229725836559.15489850046713915.05900418485601
    HNDHondurasLatin America & Caribbean True13.42674533511363323.028976212018136-9.602230876904503-0.478458124491139812.08612017823280723.805355686770856-11.719235508538048-0.4892444543973874527.10579682001006322.6746439347025124.4311528853075510.23351867865256365
    HRVCroatiaEurope & Central AsiaTrue41.0654299945470719.7280537705012221.3373762240458480.965603606762599540.797641631689820.02090461594789520.7767370157419040.785491030588203836.8504078367878520.7518286543461716.0985791824416820.8236107525225559
    HUNHungaryEurope & Central AsiaTrue44.11450043076132519.0972155386403625.0172848921209661.122614367530925738.22309852306340619.2993256626512218.9237728604121860.72436493037623551.4665857411358120.38184309289883731.0847426482369721.51161714254698
    IDNIndonesiaEast Asia & PacificTrue37.3447165742134113.65108097005965423.6936356041537551.114918163123304338.4168916741646713.09255340063361625.324338273531050.994120808018067934.06253762782747417.1528291969023216.9097084309251540.8872885329067495
    INDIndiaSouth AsiaTrue57.39382810841953418.0301033554147739.363724753004761.694574785436310757.0448322598105618.0799502838660138.964881975944551.402988424348908462.5527330632873519.7541083984903442.7986246647972.010883828137124
    IRLIrelandEurope & Central AsiaTrue107.4219013374923618.46126103268548588.960640304806873.298159911486840378.8978235913903218.57244163841007660.3253819529802442.023485589880071418.20761072905976620.00802451495422-1.8004137858944524-0.09947823889184823
    IRNIran, Islamic Rep.Middle East, North Africa, Afghanistan & PakistanTrue8.03906948378221411.09369867575857-3.054629191976357-0.16415798801404227-13.61644056860825610.19236129090757-23.808801859515825-1.1976382525396467-9.34017958137258815.614219448693675-24.954399030066263-1.6001199687505387
    ISLIcelandEurope & Central AsiaTrue14.3936127187201523.226477670778483-8.832864952058333-0.437926575778867128.56008410858368424.0322474048601834.5278367037235010.1763998891624726220.2664924201914322.78900026420606-2.52250784401463-0.13660306085768004
    ISRIsraelMiddle East, North Africa, Afghanistan & PakistanTrue22.64426275581039523.18167211449237-0.5374093586819733-0.02574310530033381229.13459180240800423.9807698035461145.153821998861890.2003789663800841519.76217088739300522.763063910720188-3.0008930233271833-0.16286715032332807
    ITAItalyEurope & Central AsiaTrue9.4932075575863816.294020612713748-6.800813055127367-0.354793429702968.97885021547153516.099487023120915-7.12063680764938-0.311394744882670273.958211545981127318.727741744643577-14.76953019866245-0.8742379164932799
    JAMJamaicaLatin America & Caribbean False12.8965111576644821.55298097002186-8.65646981235738-0.43498242379323422.1113533533243521.81757137956044
    JORJordanMiddle East, North Africa, Afghanistan & PakistanFalse-16.07425889006808419.724222820782433-35.79848171085052-2.09168988941906620.01652099025751520.749584278038146
    JPNJapanEast Asia & PacificTrue10.43619108761870626.14793628543795-15.711745197819244-0.783179358633291511.25494112973683927.394421437744214-16.139480308007375-0.66645966680773433.13813232276529724.471692187395718-21.33355986463042-1.2372763565908502
    KAZKazakhstanEurope & Central AsiaTrue16.013922711374961.82599964940965914.18792306196530.768031936969819525.685933207613655-0.2372114507603991825.9231446583740531.136439072443015121.3477713590993559.90970015019564911.4380712089037060.6515223113179434
    KGZKyrgyz RepublicEurope & Central AsiaTrue22.95800208587044423.923905137650216-0.9659030517797724-0.0460711662284287650.1625869044805624.8338704713395625.3287164331410040.908866124391640530.154506680353223.192208108240286.9622985721129210.3617966022507672
    KNASt. Kitts and NevisLatin America & Caribbean False18.45903582246597512.3519405928061926.1070952296597820.3116465541167907611.61809993634046416.373055558413128
    KORKorea, Rep.East Asia & PacificTrue28.14536756432026722.8093179155173585.3360496488029090.2504221454206679327.52725672642195723.5530704871550433.97418623926691340.1557589437073809419.3932823038421222.547368050267433-3.154085746425313-0.17159594036150327
    KWTKuwaitMiddle East, North Africa, Afghanistan & PakistanTrue-20.842306926340694-0.1359602725777659-20.706346653762928-1.3681333914121914-27.06635023178402-2.4283579689337644-24.637992262850258-1.4318550937661005-10.2684842689682148.674543251837036-18.943027520805252-1.2604832615536297
    LAOLao PDREast Asia & PacificFalse45.89191066690532510.71788925240402835.17402141450131.6243284576538669.76696596534423415.386874000209724
    LBNLebanonMiddle East, North Africa, Afghanistan & PakistanTrue-33.7611790315587214.683782918800034-48.44496195035875-3.231881132345257-44.6656919733925814.266317431815697-58.93200940520828-3.5675682935570254-13.29084926085528617.770018663884876-31.060867924740162-2.014913920476248
    LBRLiberiaSub-Saharan Africa False-5.391011766440378521.806978312463407-27.197990078903786-1.487758570196521722.402660256956521.965370546068442
    LCASt. LuciaLatin America & Caribbean False7.04871861492655212.830615173877117-5.781896558950565-0.309719643707298212.16109032642380316.660804412185662
    LKASri LankaSouth AsiaFalse15.73566966709116824.92961685156213-9.193947184470963-0.4500727019881835525.99095889266958223.771975486340892
    LSOLesothoSub-Saharan Africa True-10.94183710124103613.305391726564967-24.247228827806005-1.41776398996771154.373004199914376512.699980975115368-8.326976775200992-0.37763820502780643-4.35870133705016416.945705052143808-21.30440638919397-1.3234597117135514
    LTULithuaniaEurope & Central AsiaTrue50.7902705001005419.6530541252914231.137216374809121.361809394480283239.78088715988301519.935088677657719.8457984822253160.753353020999191243.99406085440309520.707884355047623.2861764993554951.1608681794669578
    LUXLuxembourgEurope & Central AsiaTrue2.849886004213608710.877355077475764-8.027469073262155-0.44249240725483324-9.235561999143879.947447483479783-19.183009482623653-0.94330571968772356.901543963215428515.483382094750183-8.581838131534756-0.5081693252104178
    LVALatviaEurope & Central AsiaTrue37.1761767417367419.06805431252782418.1081224292089150.833540199022597940.058887278958719.2659828939119620.792904385046740.790652177927663441.8194748449120920.36472024634073521.4547545985713521.079461124998052
    MARMoroccoMiddle East, North Africa, Afghanistan & PakistanTrue13.91864914967955319.28351669150938-5.3648675418298275-0.2709478896159276415.52480127108282219.512368519605687-3.987567248522865-0.16695304181321718.79337522000185220.491193689704733-11.69781846970288-0.6720862935892951
    MDAMoldovaEurope & Central AsiaTrue51.1097613854606417.9885966525853933.121164732875241.45674946953960346.0577641564145818.0325525228534328.025211633561151.048131762475831747.54866198956586519.72964389551579227.8190180940500721.3749012742690125
    MDGMadagascarSub-Saharan Africa True-0.949614534573661727.383949936841244-28.333564471414906-1.4812344601452711.175731489639475528.82022802482762-27.644496535188146-1.1884318809930288-1.028587278013959325.17868288687599-26.207270164889948-1.5459354396587768
    MDVMaldivesSouth AsiaTrue22.81558423628984416.0078284902201886.8077557460696560.33575883720315913-22.96507331895869415.773408684518664-38.73848200347736-2.004225714395094626.94501823057240518.557930991230468.3870872393419450.4498225668885362
    MEXMexicoLatin America & Caribbean True2.358596894880937711.295833202328346-8.937236307447408-0.49286451693567990.0403972510460981510.421250570012562-10.380853318966464-0.48572879064114316.12748954184991815.736367168266497-9.608877626416579-0.5703948794302335
    MKDNorth MacedoniaEurope & Central AsiaTrue32.76462594831697617.71935857314601415.0452673751709620.708150816798021843.08142157768017517.7251587150625825.3562628626175940.959669907812973944.3310625073758619.5708643670496924.760198140326171.238535720020177
    MLIMaliSub-Saharan Africa True11.6357166525711712.080787835908275-0.44507118333710416-0.0234268954754687115.50304599633915711.3106595676656194.1923864286735380.1818957995765846414.03692258480293616.209827714750542-2.1729051299476065-0.12421610338540409
    MLTMaltaMiddle East, North Africa, Afghanistan & PakistanTrue46.0672795035902417.43240736042084328.63487214316941.284743024767956851.2260379562238317.39765099683802433.82838695938581.245747201475853721.28421862382339219.4014711137903931.88274751003299910.10295997364887605
    MMRMyanmarEast Asia & PacificFalse23.2544885060215639.81375025322339713.4407382527981660.67983713134206848.74436887915220514.838587215346188
    MNEMontenegroEurope & Central AsiaTrue30.68439457553824222.2221397885390968.4622547869991460.3941585174481219749.0730831412641922.8789896159711226.1940935252930740.950693774141538843.8471935156606222.20667210576303321.6405214098975881.0729424347981795
    MNGMongoliaEast Asia & PacificTrue26.75335880730851611.80733931266091314.9460194946476030.738717779098646755.6151468898314411.00072274662800744.6144241432034361.66216503084008843.0059027330026116.04505017128395726.960852561718651.37480669523011
    MOZMozambiqueSub-Saharan Africa True10.32624083765936326.864479873949815-16.538239036290452-0.82239330808164277.42824041334102528.220752505563123-20.792512092222097-0.870469268644089513.39389537379565324.881901674037856-11.488006300242203-0.6350666858426522
    MRTMauritaniaSub-Saharan Africa True5.89564333077694510.070223102666652-4.174579771889707-0.227648326938932082.45754643452842379.034323589793349-6.576777155264925-0.306084044155165270.733877500376833914.994308744107249-14.260431243730416-0.8713192291538375
    MUSMauritiusSub-Saharan Africa True23.09863694346394417.4111278316503335.6875091118136110.278517880603860322.18573144643340817.373368412594974.8123630338384370.1976902861380246710.46378718274494419.388902460944696-8.925115278199751-0.5113289801645038
    MWIMalawiSub-Saharan Africa False9.34107189573738628.575885217098612-19.234813321361226-0.954100661295470930.1970432099485225.857742957043357
    MYSMalaysiaEast Asia & PacificFalse28.48420702529608319.01758952782889.4666174974672830.450620670312937719.20828449542626349.0636222459142320.33508425387383428.7285379920403981.408932551234921
    NAMNamibiaSub-Saharan Africa True-11.6584451506084994.8737843181796645-16.532229468788163-1.010033461968552.02600120149247783.1784278528152923-1.1524266513228145-0.0552601831787651420.1635031760294411.8088342426569758.3546689333724660.4742405480565719
    NERNigerSub-Saharan Africa True22.20138411243342321.292019996568850.90936411586457310.0439779869509230415.94417109941104221.812149615122404-5.867978515711362-0.242899062929327716.87384191484952821.665585252522945-4.791743337673417-0.26442928673486815
    NGANigeriaSub-Saharan Africa False-6.214000947919562-7.0506361103678930.83663516244833150.05275883107500444-10.1015692680363774.2379693354081756
    NICNicaraguaLatin America & Caribbean True15.96665192349384622.790509492533502-6.823857569039657-0.3366468510000769610.00755101723964623.531471324099154-13.523920306859509-0.570440692736587318.05524665112514522.53646551476936-4.481218863644216-0.24517911558459515
    NLDNetherlandsEurope & Central AsiaTrue16.01018157605160819.85375301307452-3.843571437022913-0.1919086633961111814.50423653371113520.164748995677876-5.660512461966741-0.237391681522591138.75965910136304920.82545334112392-12.065794239760873-0.6923572826035703
    NORNorwayEurope & Central AsiaTrue10.6882218076758817.639866888592216-6.951645080916336-0.358628837957935631.15529615124443217.634420680023213.5208754712212310.535280838447789322.11903751874766419.5239561234913842.59508139525627970.141355016490949
    NPLNepalSouth AsiaTrue43.6269095664339621.63212553004112221.9947840363928360.978657049138877252.95427190979293622.20211419614191730.752157713651021.104320887073897244.79581691951576521.86363888190504722.932178037610721.1346976246893654
    NRUNaoeroEast Asia & PacificFalse24.6716816764617211.52593031219219613.1457513642695240.65605711202909610.68187517483950315.875299270854736
    NZLNew ZealandEast Asia & PacificTrue16.746281988500523.934237963004875-7.187955974504376-0.3517842184240654323.02746483444717624.845751827579626-1.8182869931324497-0.0721808198568042226.71393776680790623.198174725332723.51576304147518570.18517344033434494
    OMNOmanMiddle East, North Africa, Afghanistan & PakistanTrue-5.2041422846154546.943383713665447-12.147525998280901-0.7099142165432643-16.9828723988035835.505863734803977-22.48873613360756-1.179382608661646310.956435466782813.085275661636423-2.1288401948536233-0.12506765400839184
    PAKPakistanMiddle East, North Africa, Afghanistan & PakistanTrue28.75703894660002310.71405933361411318.042979612985910.888918020271474831.8512360358579.76263176096433822.088604274892660.902073512176299741.9696184918852715.38455543218784926.5850630596974221.3645084652973232
    PANPanamaLatin America & Caribbean True25.9527637999924077.82099034041263218.1317734595797760.915167091395453532.272257069673286.49473791187009825.7775191578031841.066458393264675422.76433282594827313.6234164922389689.1409163337093040.5092125842986771
    PERPeruLatin America & Caribbean True16.22366735973472617.108096582953912-0.8844292232191862-0.0446348433897933814.02763606257060417.027639747034293-3.000003684463689-0.1277648814763370221.4386681083208919.209814765076932.22885334324395860.12190696963535065
    PHLPhilippinesEast Asia & PacificTrue41.2023080961130723.37067372568594717.8316343704271250.79485381111470334.1052981628000824.1979338248437449.9073643379563380.377591832440311338.2985198231911722.8724434494374515.426076373753720.7783127439849968
    PLWPalauEast Asia & PacificTrue-9.798341550893338.017695960619124-17.816037511512455-1.0612589652183197-5.9354662997190396.716539492635197-12.652005792354235-0.62085991250410779.37855005617262813.743782509063388-4.36523245289076-0.2575357386676673
    PNGPapua New GuineaEast Asia & PacificFalse15.31956230513469217.297846639565304-1.9782843344306116-0.1001474012409471317.2441109902854419.321977385618457
    POLPolandEurope & Central AsiaTrue49.91589097181885420.57412836732724829.3417626044916061.28241882033793251.9475302385768520.98952422000571630.9580060185711371.120894102971118642.27743873761417621.24676973120330521.030669006410871.0526278867454133
    PRTPortugalEurope & Central AsiaTrue18.00400469323699324.46839586233673-6.464391169099738-0.3140154079324596320.11539612550876725.460152059699716-5.34475593419095-0.2141867167006272518.4096727546931223.50633702936645-5.09666427467333-0.2773342042858669
    PRYParaguayLatin America & Caribbean True18.62135363770194410.3002585875602228.3210950501417220.428220824950932420.378028921340539.29447093875697311.0835579825835570.475213606149063519.42273103047815815.1338490907094254.2888819397687320.24069254041556337
    PSEWest Bank and GazaMiddle East, North Africa, Afghanistan & PakistanTrue-4.26061980612366726.82436794140474-31.08498774752841-1.65549201696252917.03647127863160628.174477213159182-21.138005934527577-0.88666782893748182.75984843711034624.85896394894433-22.099115511833983-1.2819015400568579
    QATQatarMiddle East, North Africa, Afghanistan & PakistanFalse-21.98657383040824-5.344457197830815-16.642116632577427-1.1384847209331974-8.215498861766603-18.5911667512063665.34518751131631-23.936354262522677-1.6962936881980268
    ROURomaniaEurope & Central AsiaTrue46.658788196694810.09871337745991836.5600748192348851.688215634489571363.7091669721785869.06653909882135754.642627873357231.99811202241411160.0209651503621715.01159767354645645.009367476815722.173498459459474
    RUSRussian FederationEurope & Central AsiaTrue6.92205872178939251.62619032768613035.29586839410326250.299093331322534353.7566235304791418-0.460636747599897764.2172602780790390.204147985915860595.0700889381143149.784368626568373-4.7142796884540585-0.288840732942773
    RWARwandaSub-Saharan Africa True44.55389338947597430.79314071801482213.7607526714611520.588988016813552235.44668592795747532.7630111585812362.6836747693762390.09845801887536197.74535569268386427.113961224178517-19.36860553149465-1.0879170698574478
    SAUSaudi ArabiaMiddle East, North Africa, Afghanistan & PakistanTrue12.958919976741058-0.520431479290816313.4793514560318750.7481735480654262-3.6395923006130815-2.857031732706536-0.7825605679065455-0.0397935764529369328.5059625366376648.43131057789786820.0746519587397961.1178275809301939
    SDNSudanSub-Saharan Africa False-24.4542018554522269.013855213485323-33.46805706893755-2.15926608837832127.8406657705746365-10.87981679001982514.351936515399322-25.231753305419147-1.6405949299474583
    SENSenegalSub-Saharan Africa True24.18792666489668621.319004216515662.8689224483810280.137612389748664733.2835120056734821.84308404400196611.4404279616715140.441528840937893512.70968087670290121.68130746500159-8.97162658829869-0.5040344924270538
    SLBSolomon IslandsEast Asia & PacificTrue-15.06694587559581730.66063108295239-45.727576958548205-2.5361091179778454-2.144971859809763332.609487443786854-34.75445930359662-1.4952461229980065-5.74217544116916127.039137986062205-32.78131342723137-1.964155576966031
    SLESierra LeoneSub-Saharan Africa True5.0773627864564966.7175530438257764-1.6401902573692801-0.091194804176983176.85453384110743355.2515863695376851.6029474715697480.0743627685060298438.9935331825221412.94649916649764326.0470340160244971.365631106764483
    SLVEl SalvadorLatin America & Caribbean True20.98817409744968621.033533524853205-0.04535942740351828-0.00220696763034918913.70516019891983121.515872775498064-7.810712576578233-0.326855195827177711.23170355770071221.51490513082917-10.283201573128459-0.5818962603262413
    SRBSerbiaEurope & Central AsiaTrue37.0017875923972719.36435668356231717.6374309088349540.811416754479305638.1488819544996719.60482695044212818.5440550040575440.709139983133331327.76919819040810520.5386209447201547.230577245687950.38337441253078874
    STPSao Tome and PrincipeSub-Saharan Africa True14.48477069798037718.047031454593863-3.5622607566134867-0.1804097656420292665.3961043177147418.0992816700404247.2968226476743251.657089469878283612.66137046996995619.764084969430368-7.1027144994604114-0.40234041921229285
    SURSurinameLatin America & Caribbean False-22.5315765606093522.33833624610132-24.869912806710673-1.63924430747934720.3359627348882433510.230596049477684
    SVKSlovak RepublicEurope & Central AsiaTrue25.1006522609286617.0398359273456638.0608163335829950.392152361908862814.43250713008648116.94977854746732-2.51727141738084-0.1070528574526136432.2726239962629419.16944677521662413.103177221046320.6865149819149243
    SVNSloveniaEurope & Central AsiaTrue27.0464005361882124.426451334439562.619949201748650.1226874651081548825.1832816481860425.41189301779078-0.22861136960474226-0.00897648755266275222.5917638832273923.48215879121084-0.890394907983449-0.04762519013862692
    SWESwedenEurope & Central AsiaTrue11.30235851381673525.061401044257526-13.75904253044079-0.68624833697510912.63550474797390226.14267675370514-13.507172005731237-0.557204815674057112.2277194512606223.847800550558627-11.620081099298007-0.6483761930133127
    SWZEswatiniSub-Saharan Africa True14.8251665325027651.59738217677876913.2277843557239960.7206244390181172-0.9150235023047903-0.49284468463147557-0.4221788176733148-0.0209178115894727320.0242738416261101269.766290036131533-9.742016194505423-0.6116360983237977
    SYCSeychellesSub-Saharan Africa True9.45319986239772111.865786555182261-2.41258669278454-0.1283701871633966510.929196440707811.06696004322187-0.13776360251407027-0.006106189563345419518.56472780897573216.080284117426262.48444369154947250.13936438854432345
    SYRSyrian Arab RepublicMiddle East, North Africa, Afghanistan & PakistanFalse-37.236385321747310.983993306021098-48.2203786277684-3.35610507097257810.06815985303953-87.0178145139251615.547886678544062-102.56570119246922-14.386633050881558
    TCDChadSub-Saharan Africa True-15.1334253876427953.2612147711411126-18.394640158783908-1.1550767412893221-18.595472978019511.3694522470575996-19.96492522507711-1.0791226706364454-4.37948024784504710.806936169104102-15.186416416949148-0.9700428950972447
    TGOTogoSub-Saharan Africa True32.2826313614306816.4039477284121515.8786836330185320.752897911394955133.3897316301540416.22476473147414217.1649668986798960.677704425313741627.09351948748106818.7929199165488728.3005995709321960.4444855960709336
    THAThailandEast Asia & PacificFalse16.2095437605052316.330076101062854-0.12053234055762374-0.00610364668683011816.1405755757236323.31003842280294318.7491226705648624.5609157522380810.24802741190085686
    TJKTajikistanEurope & Central AsiaTrue56.0595262451892230.5239763793194625.5355498658697581.052034697814855436.43492478704510532.451184383777253.9837404032678520.14579265144899514.57917578101204426.96194086374338-12.382765082731336-0.6753442652361406
    TLSTimor-LesteEast Asia & PacificTrue24.44387675008312411.82585323173202412.61802351835110.6294762657106378-48.8882087160321911.021703735981223-59.909912452013415-3.816373406399259615.05345151108599216.05621181403047-1.002760302944477-0.05710833589462022
    TONTongaEast Asia & PacificTrue15.29205599616918831.887703783509856-16.595647787340667-0.791804316476452922.92390090907461434.03199573369433-11.108094824619716-0.425630691476447222.70774938348163427.730809415225956-5.023060031744322-0.2640238572062374
    TUNTunisiaMiddle East, North Africa, Afghanistan & PakistanTrue2.21790659557337118.33940748841747-16.1215008928441-0.8622674009193161-4.77137211073119818.43322825536547-23.20460036609667-1.0728637332413811.65982929337820919.936302204575398-8.276472911197189-0.47056186878315853
    TURTurkiyeEurope & Central AsiaFalse48.86417824053144412.37066482004092436.493513420490521.655833102289986611.63933385217029461.9312878531336216.38432102318966345.5469668299439552.1735142725553
    TUVTuvaluEast Asia & PacificFalse35.766476700283125.37919608728494610.3872806129981540.4686309178411456326.5086344590093224.03051361203625
    TZATanzaniaSub-Saharan Africa True25.66871091351019619.7054887174041975.9632221961059990.2862334159975588630.07152080331229619.9950844776576810.0764363256546150.39670500159029986.86028951282720.738608399559148-13.878318886732147-0.803569776667902
    UKRUkraineEurope & Central AsiaTrue-22.755774846242112.39456732208307-35.15034216832517-2.2081791220310052.72381663335479211.666440836585693-8.942624203230901-0.4106702002309559-3.76974316314457916.398700863120254-20.168444026264833-1.2522046083825835
    URYUruguayLatin America & Caribbean False14.42051354052231815.396148175752117-0.9756346352297989-0.049990907672120121.02440808288488215.0768611046594755.9475469782254070.247920614239959218.194403596125117
    USAUnited StatesNorth AmericaTrue19.11339156591598311.3209638971526897.7924276687632940.398358320895822619.84982953634439810.4497117047108459.4001178316335530.401848888525137222.71025012708405215.7515468759041346.9587032511799180.38419400052741587
    UZBUzbekistanEurope & Central AsiaFalse54.6455013469170417.5145677446945437.13093360222251.616630288509877317.49141203680313375.0942560753513219.44998980035502455.64426627499632.51672580208543
    VCTSt. Vincent and the GrenadinesLatin America & Caribbean False25.65360226591069220.6349518547263175.0186504111843750.2399858038564788621.05919448649424621.282294395279514
    VUTVanuatuEast Asia & PacificTrue-4.11226768547141633.44359777540297-37.55586546087439-1.94592141688186666.49143043544937535.83838880075626-29.34695836530689-1.1974962697045999104.3009082925714428.60396343297440775.696944859597023.0460284201009546
    WSMSamoaEast Asia & PacificTrue2.17689037652790727.203595230877642-25.026704854349735-1.28991817173074445.590780550703728.612056973009686-23.021276422305988-0.970338071498879624.96060401638442325.07570106144852-0.1150970450640969-0.006058692122947401
    ZAFSouth AfricaSub-Saharan Africa True-5.4674446273942135.674496707994028-11.141941335388243-0.6560141002625433-1.81488534136249324.078131581344695-5.893016922707188-0.28676413762509095-1.534422779334998512.303921021505527-13.838343800840526-0.8654048402525717
    ZWEZimbabweSub-Saharan Africa True0.66502218984425544.9912481149777275-4.326225925133472-0.2477502090357812713.531341299594683.310352949066251810.2209883505284280.46414453111953485-25.4187874290108811.881561940193357-37.30034936920424-2.6689135919835776
  • 国別の寿命残差country_life_residuals.csv — クリックで表示
    iso3countryregiongdp_pc_12life_exp_12predicted_yearsresidual_yearsresidual_quadratic_yearsresidual_sem_sample_reference_yearsleave_one_out_residual_years
    TJKTajikistanEurope & Central Asia2700.0954603735869.1361.4661794885781067.6638205114218897.9074008070836547.9093978771763747.777906122441163
    ALBAlbaniaEurope & Central Asia12463.51836984678.08470.589292881615087.4947071183849237.1132276351710297.1655521825153277.5327414064711595
    XKXKosovoEurope & Central Asia8431.6623269465775.7568.25821889300887.4917811069911987.1454418684277247.3094777404280087.535875822243795
    PSEWest Bank and GazaMiddle East, North Africa, Afghanistan & Pakistan6009.1092582204273.72266.237872646981637.4841273530183667.2374139966532887.4291005200279167.540422573755599
    SLBSolomon IslandsEast Asia & Pacific2743.810015145168.96161.5619745434850367.3990254565149637.6292385092787577.6385679841589397.507710692214535
    CRICosta RicaLatin America & Caribbean 19970.685601362879.92573.40140601768386.52359398231626.2135181012926786.0172832679868556.560291934415018
    BIHBosnia and HerzegovinaEurope & Central Asia12626.926323775377.03770.666987197336186.37001280266382255.98883456164162456.0359633279483666.402293367277247
    VUTVanuatuEast Asia & Pacific3815.4189524681669.89863.52855256755116.3694474324488946.3571549826419586.4851006839870356.440100457614884
    NICNicaraguaLatin America & Caribbean 6275.7873024800372.43566.49687413595685.9381258640432015.6750515400288755.866782614115925.9812574100950195
    CPVCabo VerdeSub-Saharan Africa 7397.8222070247473.31567.477987313196315.8370126868036895.5215348675785525.7038618707292135.874454237024696
    VNMViet NamEast Asia & Pacific7979.8682892685873.76267.929730955711495.8322690442885095.49775533850736055.6706595593121285.86780264342185
    CHNChinaEast Asia & Pacific12217.934381310176.270.470589816034045.72941018396596755.3476538807756245.4077332310120885.758563371839933
    KIRKiribatiEast Asia & Pacific2242.3010576500665.90860.3580313320011755.5499686679988265.9586769224565335.865356471608455.64607513561928
    TONTongaEast Asia & Pacific5908.0240069979871.54666.136680994718575.4093190052814325.16928463836427455.3606669819315875.450574972114867
    LBNLebanonMiddle East, North Africa, Afghanistan & Pakistan17323.301376428277.94172.553148881545315.3878511184546915.0431299683666284.9349783868861445.416316211605663
    JPNJapanEast Asia & Pacific42394.943317506483.096097560975677.891411754387735.2046858065878615.26657935842393954.4155164649251335.256685793483679
    LKASri LankaSouth Asia11447.693773778275.18770.082189060608945.1048109393910584.7236985311424894.8076022189912495.131118019942565
    MDVMaldivesSouth Asia17390.147499542277.51272.576120800175364.935879199824644.5919471262822074.4815592974166954.961992275594798
    TCATurks and Caicos IslandsLatin America & Caribbean 16024.691565225476.96972.088369430309044.880630569690954.5217280551909624.4570377289062294.90581588959372
    KGZKyrgyz RepublicEurope & Central Asia4993.3943168352870.002439024390265.133445901587464.8689931228027354.7038932902570994.8835422884883434.911770842225819
    ESPSpainEurope & Central Asia41034.048156635682.426829268292777.696802059385524.7300272089071884.7692215516641453.953117769441054.775964605741771
    NPLNepalSouth Asia3316.5007345202167.36462.692658684639844.6713413153601664.7546896016373814.8396536970156354.729811513927184
    ECUEcuadorLatin America & Caribbean 12961.026742376575.48670.822757415565874.663242584434134.2829544382478994.3193799930565434.686824199453189
    HNDHondurasLatin America & Caribbean 5600.607760549770.4665.817949692041744.6420503079582574.4241063408673684.6134775237119074.6790546606908405
    WSMSamoaEast Asia & Pacific6312.7694462114571.15966.53191991041464.6270800895854054.3618730248890074.5535290474551154.660532150388609
    MDGMadagascarSub-Saharan Africa 1617.7908288248163.00758.4109097930072644.5960902069927345.3417500253222135.03414157899579354.698421525387868
    GRCGreeceEurope & Central Asia31250.226856595680.634146341463476.07216496957874.5619813718847134.43493311718983.88741982328674854.597115076680063
    ANDAndorraEurope & Central Asia58172.132392947484.33479.778506134803824.5554938651961834.8684055521429173.64744250925680554.615294402383787
    BGDBangladeshSouth Asia4592.0484091981268.98964.633665848687294.3553341513127184.2334745323740894.4013681542172094.396466378585147
    KHMCambodiaEast Asia & Pacific4159.1635412344668.37164.043088114397144.3279118856028594.26221462932441854.41115074236520854.372454345471609
    RWARwandaSub-Saharan Africa 2063.6647482303164.18959.8628471429503154.3261528570496784.8148964473193634.6727359704664054.406154084923499
    ISRIsraelMiddle East, North Africa, Afghanistan & Pakistan39245.507811768781.704878048780577.430984344040344.2738937047401614.2830461108118243.5137300866587824.3138285168265185
    SMRSan MarinoEurope & Central Asia58176.379745476183.94379.77894162235744.1640583776426044.4770344598046143.2559795871254524.218723882663876
    CHLChileLatin America & Caribbean 26676.811015401979.22175.128359579064694.0926404209353113.88808902802281863.477536145420164.120445905767947
    GRDGrenadaLatin America & Caribbean 13161.395532437774.96170.914262119373974.0467378806260263.66715063211124463.6971107320448484.0671861951164505
    TUNTunisiaMiddle East, North Africa, Afghanistan & Pakistan12436.395811573574.59970.576298630820674.022701369179333.64118077547064443.69436503715090234.043121223797777
    MARMoroccoMiddle East, North Africa, Afghanistan & Pakistan7628.6440429687571.67467.661249331520854.0127506684791573.6891633065731073.86805482418301954.0379454273936295
    ARMArmeniaEurope & Central Asia11796.274117799474.11951219512270.261102704077373.85840949104462543.47670558770452943.54992967867515573.878162482213024
    COLColombiaLatin America & Caribbean 15279.479000805875.61171.80433021879553.8066697812045053.4407741103593853.4009706684435063.826112767226087
    CYPCyprusEurope & Central Asia39190.2226562581.12877.422575952352573.70542404764742633.71364430384582532.9457901362680733.7400049352795923
    UZBUzbekistanEurope & Central Asia6525.497152588970.41166.729605808901443.6813941910985623.40451876645533963.595389453991433.707324106856762
    JORJordanMiddle East, North Africa, Afghanistan & Pakistan12104.121742393874.08770.414767011837233.67223298816277583.29042315742418623.3540727259872373.6909456874785205
    PRTPortugalEurope & Central Asia34804.633334048480.373170731707376.714705134754673.6584655969526383.59220095918954032.9434256971484563.689300893227372
    ITAItalyEurope & Central Asia47795.957936054182.239024390243978.606650200936663.63237418930724233.7828130212528352.7981466946998383.6726490215019454
    HKGHong Kong SAR, ChinaEast Asia & Pacific59015.317956095583.45024390243979.864341809170713.5859020932682883.91156391128897952.6724433141648093.6335530618288807
    NZLNew ZealandEast Asia & Pacific42693.423451657181.407317073170777.933258847669983.4740582255007273.54091066137543462.68225262632346073.508979775396442
    MLTMaltaMiddle East, North Africa, Afghanistan & Pakistan38937.148775567480.746341463414677.383933569148583.36240789426601343.36635858129334052.60520835204140163.3936122428357183
    IRNIran, Islamic Rep.Middle East, North Africa, Afghanistan & Pakistan15159.294820653175.03971.7572280742713.28177192572900372.914839301185042.87904012497737943.2985106946266183
    JAMJamaicaLatin America & Caribbean 9829.0351001504472.40569.172886015132663.23211398486733972.8617932120039882.9921889799806113.249665761393155
    ETHEthiopiaSub-Saharan Africa 1576.7687573393361.44358.257713329774873.1852866702251253.95998889753957433.63298901905166363.2575653433101808
    ISLIcelandEurope & Central Asia58203.637945953682.917073170731779.781735690814863.1353374799168423.4487267898660862.2270826703888393.176514381379516
    FRAFranceEurope & Central Asia49935.626908161781.968292682926878.867865928766113.10042675416069363.28521047085034472.2497433513552783.1361318110406913
    KORKorea, Rep.East Asia & Pacific41537.672861111780.81951219512277.769563174546653.04994902057535463.0975604395895292.2684558210063133.0798850771930937
    SVNSloveniaEurope & Central Asia37040.708274610680.124390243902477.086108898694833.0382813452075653.0101140274398972.2998439788933073.0652895316464286
    DZAAlgeriaMiddle East, North Africa, Afghanistan & Pakistan14697.539613385374.60971.572717634750423.03628236524957632.66562397815744132.64517423999235753.051698477958538
    MNEMontenegroEurope & Central Asia19576.41205145976.373.282469371335413.01753062866458782.7019145460856892.51871261222886743.034332993003298
    BDIBurundiSub-Saharan Africa 999.22006816315958.50155.5368703707434152.96412962925658264.3161645987664343.58323797391293653.0565979676232895
    PERPeruLatin America & Caribbean 13393.592385167973.97971.018575389800362.9604246101996382.5817970822209732.60422599819152372.975377047049597
    THAThailandEast Asia & Pacific17871.578647756575.5972.739003844027622.8509961559723822.51289723448276452.3864150474765752.86623515587061
    AUSAustraliaEast Asia & Pacific54403.883690243382.046341463414679.379045273932592.6672961894820162.92239674427604261.78440982383560252.70036519365688
    SLVEl SalvadorLatin America & Caribbean 9162.5621261350871.4268.754075381086312.66592461891369232.3049506567896572.45238358946168942.680898852511265
    INDIndiaSouth Asia5303.5019776765568.07665.492827456465262.58317254353472952.38940891305267662.57508161046263242.604730890709372
    BRBBarbadosLatin America & Caribbean 19743.5782709575.73773.333186657565592.4038133424344042.0905325053845731.90180026950957882.4172560954076974
    MKDNorth MacedoniaEurope & Central Asia17189.995630545674.902439024390372.507072024018472.39536700037183442.04908816015667131.9453969904112542.4079881212719196
    SENSenegalSub-Saharan Africa 3405.1086446166865.22962.849927514115042.37907248588496152.44358677931278122.5374773422862732.408185372342775
    PHLPhilippinesEast Asia & Pacific6697.5562096276869.23766.88484042517742.35215957482259342.066552513701412.2563754625766992.368397018086506
    PRYParaguayLatin America & Caribbean 12833.180161941373.10570.763630017833882.34136998216612821.96069901386857742.00123226232345532.3532181563995542
    CANCanadaNorth America54034.782168031881.663658536585479.338440077115012.3252184594703922.5745831041037521.44489011510678722.353878643522395
    GBRUnited KingdomEurope & Central Asia48099.659440194280.904878048780578.644430718880412.26044732990008872.415787162220071.42383976139696242.285648568424838
    ATGAntigua and BarbudaLatin America & Caribbean 25592.906612173577.174.880947236608222.21905276339177251.99650328166788431.61953481886958172.2336711044276374
    SWESwedenEurope & Central Asia56193.328748824681.704878048780579.572077741294482.1328003074860222.4155235640710091.23775340086247352.159984780026314
    SRBSerbiaEurope & Central Asia17993.814716999374.836585365853772.779661630533912.0569237353197851.7203459576649751.58978129252822952.067948179589718
    MWIMalawiSub-Saharan Africa 1518.1480384923859.8758.0317320946708151.83826790532918242.65648498286552842.30020648139306161.881155922033744
    GEOGeorgiaEurope & Central Asia13193.959697405472.67270.929001850624961.74299814937504041.36353612389640941.3924424362455171.7518047825359915
    TUVTuvaluEast Asia & Pacific3715.6004695661365.07963.370427434769271.70857256523072461.71352914702589491.83418728689348141.7279651240377965
    HRVCroatiaEurope & Central Asia28259.163807394877.168292682926875.472063828220141.69622885470666061.5182788536677521.05947210972360041.7082761500569492
    PANPanamaLatin America & Caribbean 26926.895692806576.87775.184015796157551.69298420384244251.4926142531550541.07437373210113661.7045680159959322
    PRIPuerto Rico (US)Latin America & Caribbean 41347.454201358679.25877.742185563800721.51581443619927821.56024901087575070.73604595455920221.5306333786596604
    FSMMicronesia, Fed. Sts.East Asia & Pacific3847.1474352833765.0863.577949025652831.50205097434717061.4844507796979231.6145923781164841.5185932426473085
    URYUruguayLatin America & Caribbean 26953.270902638976.69175.189855425745761.50114457425424061.3012161794242730.88216622111004031.5114234257422006
    TURTurkiyeEurope & Central Asia22517.714828787575.55274.117389255379921.43461074462008751.16258950904041570.88319495745021471.4432657115112706
    FROFaroe IslandsEurope & Central Asia57524.515099787481.106095121951279.711730124049851.39436499790134861.69743787872256750.490520356128570261.4124956125215875
    GTMGuatemalaLatin America & Caribbean 10126.833056622470.72269.350919462031711.37108053796828240.99762253197216921.11993989119548591.3784328443573621
    FINFinlandEurope & Central Asia53957.668098627980.626829268292779.32992166645681.29690760183589761.5450722239391580.41711589508193471.3128734596672995
    BRABrazilLatin America & Caribbean 18832.219552707574.33573.051300644311441.28369935568855450.95795195308348010.79944436492422711.2907156810790017
    CHESwitzerlandEurope & Central Asia76570.237898712182.697560975609881.41761666263491.2799443129749051.85636300505922240.268633277396389761.3010519813166426
    LBRLiberiaSub-Saharan Africa 1668.9728958877659.78558.596691400640411.1883085993595871.89924412839697961.61465621559919011.2141601699529574
    POLPolandEurope & Central Asia28952.915730530176.746341463414675.616726348126331.129615115288260.96341729407963330.48374500960883891.1377932410702076
    NLDNetherlandsEurope & Central Asia61480.841641632481.104878048780580.108468275795450.99640977298506071.35896820066238890.067571664478776941.0101164795057747
    MDAMoldovaEurope & Central Asia10158.385467688370.34469.369474911689310.97452508831068490.60076880624434640.72221549670184970.9797443667908305
    IRLIrelandEurope & Central Asia59303.031981356180.846341463414679.893350495152940.95299096826165911.28298798211643830.0377047177519358460.9657070110121923
    DOMDominican RepublicLatin America & Caribbean 15487.277635632172.81771.884902535232040.93209746476794920.56805653086674110.52132250663731840.9368705612956413
    BLZBelizeLatin America & Caribbean 11843.415340421271.13470.284891799182660.84910820081734070.46736358982545310.53912973762611220.8534517827901473
    AUTAustriaEurope & Central Asia61376.634593042880.936585365853780.098349828303340.83823553755036071.1992460609918254-0.08996513520722260.8497499155850262
    CODCongo, Dem. Rep.Sub-Saharan Africa 1182.1407458832757.3556.539578760895780.81042123910422251.93613785008606951.36636157563629720.8329954529008217
    MYSMalaysiaEast Asia & Pacific25006.358778153775.55274.742655270929890.80934472907011920.57715482761288680.218538816976590060.8145876511661053
    UGAUgandaSub-Saharan Africa 2405.0945593276761.57960.776076702322330.80292329767767261.14706770701358351.0919753354673390.8160649183680824
    BELBelgiumEurope & Central Asia56356.825129213780.385365853658579.58940702560130.7959588280571951.0811905651270308-0.100179778189726680.8061292287983357
    DEUGermanyEurope & Central Asia58110.376851224580.539024390243979.772170649994780.76685374024911821.078828941360058-0.140798496704292120.7769112453408229
    COMComorosSub-Saharan Africa 3330.5244605918763.46362.717827050101890.74517294989811230.82548099743155490.91189979030389880.7544664929914929
    AREUnited Arab EmiratesMiddle East, North Africa, Afghanistan & Pakistan73644.054992888481.91381.185202051820480.72779794817951431.2642808485162647-0.268871574304753840.7394263028791833
    GMBGambia, TheSub-Saharan Africa 2574.9350966406161.961.183078342941340.71692165705865561.00084984834921190.98033365513816760.7280202107529565
    PAKPakistanMiddle East, North Africa, Afghanistan & Pakistan4292.0211029348664.88364.230640563640350.65235943635964590.56823172119872820.72378297896497660.6588924557735245
    CZECzechiaEurope & Central Asia39347.049295684678.075609756097677.446397110587540.62921264551006570.640076591465629-0.131921936584404880.635105103660195
    MHLMarshall IslandsEast Asia & Pacific4244.5881283861264.77664.164355191288680.61164480871131840.53396759977896120.68724415654611450.6178295362971058
    TZATanzaniaSub-Saharan Africa 2822.485351562562.28661.730598609100480.55540139089951880.76243544983424270.78432104308802760.5633697970520579
    PNGPapua New GuineaEast Asia & Pacific3577.9101472277463.63963.145192023438670.493807976561335240.52401365971156370.63361194051281440.4995986849240517
    MEXMexicoLatin America & Caribbean 20898.93572090874.12873.672398577132680.455601422867317750.15898006311688562-0.067781114501514140.4582288213826186
    NERNigerSub-Saharan Africa 1411.5200140983157.98757.59735882231830.389641177681703251.29375782172962060.87894413472253770.3992236786762595
    MUSMauritiusSub-Saharan Africa 20313.032894146973.863414634146473.502789235973580.360625398172814470.055447803931897965-0.152072193956200860.3626724950797667
    OMNOmanMiddle East, North Africa, Afghanistan & Pakistan41964.082857855278.18777.830482322141720.356517677858278150.4112403566694809-0.42881326880453230.3600481720946991
    BHRBahrainMiddle East, North Africa, Afghanistan & Pakistan54516.840659478779.62279.391416733446990.230583266553011870.48743657644725147-0.65308246871151710.23344711154960257
    ARGArgentinaLatin America & Caribbean 28825.966686536175.80275.590515608971460.211484391028548660.04313281862980034-0.4327345065826620.21301015113048177
    BGRBulgariaEurope & Central Asia22618.810427891974.314634146341574.144108435392650.17052571094885138-0.09991926114271621-0.382573314734528940.17155744062733105
    TLSTimor-LesteEast Asia & Pacific4297.9148244913264.38464.23882555131970.145174448680293720.0602550140066711040.216082358452283070.14662655805564784
    SVKSlovak RepublicEurope & Central Asia30894.311801092676.10975609756176.003842050725990.10591404683501082-0.027215352765750822-0.56434333642880570.10672209909457202
    VIRVirgin Islands (U.S.)Latin America & Caribbean 46422.415123622378.517073170731778.432727752241530.084345418490173070.2125122124072476-0.73892541637441410.0852572575798202
    DNKDenmarkEurope & Central Asia60161.701066025680.051219512195179.979096098607070.072123413588030870.41501207544241936-0.84856458585367990.07309755613138383
    MMRMyanmarEast Asia & Pacific4340.9994506917464.25164.29832117723437-0.04732117723436602-0.137963837803596330.019838663589510475-0.04779042364908868
    MRTMauritaniaSub-Saharan Africa 5716.2519541428565.80865.93985743461847-0.13185743461846755-0.3584392809860759-0.16811008805622407-0.13289081830610253
    BTNBhutanSouth Asia11143.944535458869.75969.92178627171016-0.1627862717101607-0.5429401532327063-0.4498900356023512-0.16363106040854217
    ESTEstoniaEurope & Central Asia33765.430207507276.326829268292776.53389722793311-0.2070679596404119-0.29109368464737884-0.9107174338341224-0.20876900330601794
    IDNIndonesiaEast Asia & Pacific9708.6118253108168.86269.09935645831521-0.2373564583152188-0.6062359879274766-0.47264929328291316-0.2386525388126788
    CUWCuracaoLatin America & Caribbean 32320.877036524575.9676.27309607822907-0.3130960782290799-0.42183460691197183-1.000315761563229-0.31557556044105206
    HTIHaitiLatin America & Caribbean 3266.4383251935262.27362.60193544358967-0.3289354435896641-0.2345454258411337-0.15490773484209086-0.3331065529042304
    AFGAfghanistanMiddle East, North Africa, Afghanistan & Pakistan2985.3191445284561.73562.06515140051292-0.3301514005129178-0.16778035082981546-0.12230769987073131-0.3346702872898714
    HUNHungaryEurope & Central Asia28179.65646443475.063414634146375.4552584662049-0.39184383205859774-0.5711377273075726-1.0275418831534608-0.39462072529055625
    SYCSeychellesSub-Saharan Africa 24919.95521032874.275609756097674.72200998614385-0.44640023004625107-0.6800035102488806-1.0359055431521682-0.4492848512842478
    VCTSt. Vincent and the GrenadinesLatin America & Caribbean 13397.963298270170.53971.02052161242212-0.4815216124221138-0.8601296073147751-0.8378428313691728-0.4839536596529621
    STPSao Tome and PrincipeSub-Saharan Africa 4919.5529438657764.50565.04458243064323-0.539582430643236-0.6972812307241156-0.5194350985219103-0.5443840954013569
    SDNSudanSub-Saharan Africa 4145.93164062563.42764.02408187235963-0.597081872359631-0.6608805290227835-0.5126456720194099-0.6032440260173895
    NORNorwayEurope & Central Asia85925.872335205781.451219512195182.105205958541-0.65398644634591110.04555780400401943-1.7086138106362796-0.6658119942831132
    LAOLao PDREast Asia & Pacific5608.9695633705965.12665.82684844269592-0.7008484426959143-0.9194308507923381-0.7299818249776848-0.7064283408392616
    TKMTurkmenistanEurope & Central Asia10689.353734728568.96169.67336868608291-0.712368686082911-1.0902390358828598-0.9838227912894695-0.7161131147517997
    ROURomaniaEurope & Central Asia26767.455648718174.412195121951275.14859255023784-0.7363974282866366-0.9394343605494555-1.3527763281093002-0.741413381297048
    MOZMozambiqueSub-Saharan Africa 1338.5159486610456.4657.28059979941193-0.82059979941193010.14802957951145856-0.3113418517388311-0.8415594873962072
    MNGMongoliaEast Asia & Pacific12078.918532006269.50024390243970.40233437078847-0.9020904683494706-1.2839055438645062-1.2194675066301102-0.9066888408369409
    LCASt. LuciaLatin America & Caribbean 21309.225129629572.8673.78836328248126-0.9283632824812571-1.2188740457460483-1.4590512932275175-0.9337776580307042
    SGPSingaporeEast Asia & Pacific102061.1193610581.995121951219583.13165172457775-1.136529773358248-0.23933893685055807-2.255820538418874-1.1600087570892674
    SYRSyrian Arab RepublicMiddle East, North Africa, Afghanistan & Pakistan7296.3288679422866.20667.39558901942246-1.1895890194224563-1.5012483967148285-1.3175489583270235-1.197295067873004
    DMADominicaLatin America & Caribbean 17431.128800306371.39172.59016055508476-1.1991605550847595-1.54260628001974-1.6543649253608237-1.2055100546769195
    USAUnited StatesNorth America61142.363703426578.741463414634280.07553938682594-1.3340759721917408-0.9765490445649192-2.2608396467485363-1.3523424597742917
    LBYLibyaMiddle East, North Africa, Afghanistan & Pakistan20601.002664172.18873.5867545709689-1.3987545709689044-1.6997529688463118-1.916741759769522-1.4067561317432609
    EGYEgypt, Arab Rep.Middle East, North Africa, Afghanistan & Pakistan13076.805239487669.46470.87580238726082-1.4118023872608205-1.791700276694172-1.7590066732286687-1.418938272710905
    LVALatviaEurope & Central Asia27496.545458363573.778048780487875.30888520555307-1.5308364250652744-1.7216475985630098-2.1573133432676173-1.54148009421737
    UKRUkraineEurope & Central Asia17848.74023437571.0972.73137657730793-1.6413765773079234-1.9797579627485504-2.1054771879333174-1.6501455710529849
    ABWArubaLatin America & Caribbean 34058.310232990374.84176.58541166852889-1.7444116685288975-1.8234294410684555-2.451306417853459-1.7588467404856027
    GNBGuinea-BissauSub-Saharan Africa 2180.7433883277558.2760.19199345192901-1.921993451929005-1.4868789129819575-1.5961456957944478-1.9560216495381806
    KWTKuwaitMiddle East, North Africa, Afghanistan & Pakistan64908.26263923778.395024390243980.4320489542142-2.0370245639702915-1.6241157053499649-2.986247409578553-2.066350408605247
    LTULithuaniaEurope & Central Asia30932.098318026173.863414634146476.01113295099097-2.147718316844575-2.280202284140003-2.8184350077711997-2.1641203694767075
    IRQIraqMiddle East, North Africa, Afghanistan & Pakistan13357.014388232368.82771.00226347949888-2.1752634794988808-2.5540523772180137-2.5304344837871895-2.1862506842681304
    AZEAzerbaijanEurope & Central Asia19523.373716135671.0873.26628730245739-2.1862873024573872-2.502639960649873-2.6840858908436473-2.198444597297914
    BFABurkina FasoSub-Saharan Africa 2003.664611874557.45759.68685524553304-2.229855245533038-1.711737171526103-1.8721851025122547-2.2720527161768445
    BOLBoliviaLatin America & Caribbean 9884.4616359464566.58669.20642682053293-2.620426820532927-2.991376766897318-2.862464808505095-2.634621949582627
    TGOTogoSub-Saharan Africa 2333.1927673788657.95360.59503862360995-2.642038623609949-2.2702718869890504-2.3415816599822037-2.6863548332106735
    DJIDjiboutiMiddle East, North Africa, Afghanistan & Pakistan4469.0740993313561.71964.47175448515688-2.7527544851568777-2.859762846488046-2.696520489485458-2.7793708535184103
    BHSBahamas, TheLatin America & Caribbean 33667.554709891173.70776.51658232042098-2.8095823204209864-2.8952819293660355-3.5121410006918126-2.832606347461486
    KENKenyaSub-Saharan Africa 4387.9379007540961.53764.36247016775224-2.8254701677522363-2.922221282343024-2.762351545685469-2.853227600425451
    BMUBermudaNorth America96715.165996688879.84782.81074145936002-2.9637414593600226-2.130124688967996-4.0628157163715315-3.022503626708678
    BLRBelarusEurope & Central Asia25879.131940070171.965853658536674.94728478866027-2.981431130123667-3.1992493755336824-3.585128167060077-3.001232905937226
    BENBeninSub-Saharan Africa 2779.726480853258.55961.639545788059806-3.0805457880598084-2.8610512179616734-2.8458900461011183-3.1253092105159688
    LUXLuxembourgEurope & Central Asia128897.40321850781.392682926829384.52407958926554-3.131396662436245-1.9395878301481702-4.338406744032866-3.2082528992489983
    KNASt. Kitts and NevisLatin America & Caribbean 25114.057260324471.36274.76828912195043-3.4062891219504365-3.636714793000266-3.9987098996673325-3.4284232014159253
    MACMacao SAR, ChinaEast Asia & Pacific164239.26192345782.470731707317185.96937012829754-3.4986384209804413-1.9687577177716946-4.796698029446617-3.600315483172583
    GHAGhanaSub-Saharan Africa 5339.7132190304561.99565.53341478974228-3.5384147897422835-3.7352878872102124-3.5490626187408267-3.56777562703643
    FJIFijiEast Asia & Pacific10140.69358553965.81269.35907771918644-3.547077719186447-3.9206675353223517-3.7987323148393983-3.5660881460901077
    GUYGuyanaLatin America & Caribbean 11534.998558865966.44370.12750568014476-3.684505680144767-4.065815540444717-3.9845692291459045-3.7034593564221256
    SAUSaudi ArabiaMiddle East, North Africa, Afghanistan & Pakistan59471.700190939476.0979.91029105424005-3.8202910542400446-3.4877562383331764-4.736644515700178-3.8713891024410017
    PLWPalauEast Asia & Pacific18024.754099687268.86372.78990879179753-3.92690879179753-4.263099084714071-4.394696778969006-3.9479703435311873
    CYMCayman IslandsLatin America & Caribbean 73982.678133584877.12181.21256548956006-4.091565489560068-3.5504248770960345-5.089958837110942-4.157183109573806
    SXMSint Maarten (Dutch part)Latin America & Caribbean 53357.00346279775.12579.26314945341171-4.138149453411714-3.8993517451120567-5.0137346852448275-4.188605863836659
    ZMBZambiaSub-Saharan Africa 3474.5525284409258.70462.97034788911273-4.26634788911273-4.215991641428289-4.115529201632405-4.3176574722581895
    MLIMaliSub-Saharan Africa 2520.5293108680456.69661.0556998543061-4.3596998543061005-4.05720615288304-4.08826334433062-4.428383625104561
    GINGuineaSub-Saharan Africa 2762.9035093851357.11761.60333763046941-4.486337630469414-4.261851746369501-4.2494008692081024-4.551858997848023
    TTOTrinidad and TobagoLatin America & Caribbean 36903.689857409472.51377.06400380107287-4.551003801072866-4.5814993340416805-5.288048604005894-4.5913304137601205
    SURSurinameLatin America & Caribbean 24193.841237392269.95774.54562922781612-4.588629227816128-4.834034133971201-5.16702301409687-4.617669652361536
    QATQatarMiddle East, North Africa, Afghanistan & Pakistan147077.40609263780.49985.31107496899138-4.812074968991382-3.440254060865527-6.068663702794893-4.941721526583234
    KAZKazakhstanEurope & Central Asia28881.241756372869.93975.60194222513057-5.662942225130578-5.830356195193573-6.307880969697749-5.70385983446127
    COGCongo, Rep.Sub-Saharan Africa 9079.6865640089162.66268.69987911390159-6.037879113901589-6.397441854708099-6.248005920156253-6.071955373389009
    CMRCameroonSub-Saharan Africa 4382.1112079735558.1764.35454445313067-6.18454445313067-6.280544364070437-6.1209265317556145-6.245371598244457
    RUSRussian FederationEurope & Central Asia35740.6992187570.072195121951276.87300549190913-6.800810369957929-6.851102520689608-7.52582277856429-6.8594418498903185
    CAFCentral African RepublicSub-Saharan Africa 1577.9805325225351.33658.26229554512945-6.926295545129449-6.152467354867973-6.478881863895197-7.0833740951240385
    SOMSomalia, Fed. Rep.Sub-Saharan Africa 1114.804148928349.13856.18975982123379-7.051759821233794-5.848883584014409-6.473781805711873-7.256209420822083
    BRNBrunei DarussalamEast Asia & Pacific89718.463604998274.84382.36283076085364-7.519830760853637-6.772238113334879-8.590687814418885-7.660497743192706
    CIVCote d'IvoireSub-Saharan Africa 4234.2118771949256.5764.14975614201896-7.579756142018958-7.656003365826528-7.503237092232986-7.65656306655975
    GABGabonSub-Saharan Africa 19450.40270667965.43873.24395175280881-7.805951752808809-8.12331431196938-8.30234325993844-7.849277736265851
    SLESierra LeoneSub-Saharan Africa 2792.9262645923253.15961.66780264930601-8.508802649306013-8.293188970708009-8.275927015759983-8.631956827543938
    NRUNaoeroEast Asia & Pacific9640.8014436436260.53369.05754951280089-8.524549512800888-8.892571651905683-8.757208619458495-8.571247649898714
    ZWEZimbabweSub-Saharan Africa 5003.5087339706955.38665.14551552724781-9.759515527247807-9.925610998882611-9.745726716436302-9.845111466332131
    ZAFSouth AfricaSub-Saharan Africa 14563.762404103261.73771.51817830666495-9.781178306664948-10.152835410840275-10.16885059678463-9.83078658361184
    GRLGreenlandEurope & Central Asia62111.103308680769.95951219512280.16930317095579-10.209790975833783-9.837892159896612-11.142461523750626-10.351448735706755
    TCDChadSub-Saharan Africa 2886.2747456361950.76561.86390256331791-11.098902563317907-10.909875741138862-10.878380711871571-11.255188721718799
    AGOAngolaSub-Saharan Africa 11516.813324658858.91670.11809475770671-11.202094757706718-11.583366271664175-11.501565443188554-11.25974117187222
    BWABotswanaSub-Saharan Africa 14957.618914293260.38471.67734250832854-11.293342508328536-11.661953997672796-11.691041727196904-11.350820963512945
    NAMNamibiaSub-Saharan Africa 11266.608948646457.73369.9870825776346-12.254082577634598-12.63467551399328-12.545299838156147-12.317487381545291
    LSOLesothoSub-Saharan Africa 2894.2270504814248.23561.880313978240636-13.645313978240637-13.458484744518628-13.425826003045216-13.837013803314129
    NGANigeriaSub-Saharan Africa 8265.9055118105151.68868.13979189633324-16.451791896333233-16.79406350404166-16.6266346716003-16.549806301012683
    GNQEquatorial GuineaSub-Saharan Africa 35711.491927353759.30176.86812915135216-17.567129151352162-17.617919210620983-18.291834363247148-17.718474012419627
    SWZEswatiniSub-Saharan Africa 8645.8447828780250.71468.40784261847155-17.69384261847155-18.04500545054121-17.88557188871566-17.796451452553733

分析コード

  • 採用モデルsem_country_v2.py — クリックで表示
    # -*- coding: utf-8 -*-
    """国レベルSEMの作り込み版。出力: country2_*.csv
    
    Model B(初版)は人的資本と初期所得が r = 0.91 で、両方を成長式に入れたため
    標準化係数が −1.07 まで飛ぶ抑制が出ていた。指標をどう入れ替えても
    相関は 0.83〜0.90 から下がらず、これは仕様の誤りではなくデータの構造。
    
    そこで人的資本の各指標を初期所得に回帰した残差に置き換える。
    「その所得水準の国として期待される以上に、人的資本が厚いか」を測る潜在変数になり、
    初期所得と定義上直交するので抑制が消える。
    """
    import paths
    
    import numpy as np
    import pandas as pd
    import semopy
    
    from sem_analysis import derive
    
    HC = ["life_exp_12", "child_surv_12", "school_sec_12"]
    HCR = [c + "_r" for c in HC]
    BASE = ["rule_of_law", "gov_effect", "control_corrupt", "reg_quality",
            "g_gdp", "g_gni", "g_cons", "init_gdp"]
    
    MODEL = f"""
    GOV =~ rule_of_law + gov_effect + control_corrupt + reg_quality
    GROWTH =~ g_gdp + g_gni + g_cons
    HCX =~ {' + '.join(HCR)}
    
    HCX ~ GOV
    GROWTH ~ GOV + HCX + init_gdp
    
    GOV ~~ init_gdp
    HCX ~~ init_gdp
    rule_of_law ~~ control_corrupt
    gov_effect  ~~ reg_quality
    """
    
    LABELS = {
        "rule_of_law": "法の支配", "gov_effect": "政府の有効性",
        "control_corrupt": "腐敗の抑制", "reg_quality": "規制の質",
        "life_exp_12_r": "平均寿命(所得調整後)", "child_surv_12_r": "乳幼児生存(所得調整後)",
        "school_sec_12_r": "中等教育就学率(所得調整後)",
        "g_gdp": "一人当たりGDP成長", "g_gni": "一人当たりGNI成長", "g_cons": "一人当たり消費成長",
        "init_gdp": "初期所得(2012)", "GOV": "制度の質", "HCX": "所得水準を超えた人的資本",
        "GROWTH": "その後10年の成長",
    }
    
    
    def prepare():
        df = derive()
        cols = BASE + HC
        d = df.dropna(subset=cols).copy()
        z = (d[cols] - d[cols].mean()) / d[cols].std()
        # 人的資本の各指標から、初期所得で説明できる分を抜く
        for c in HC:
            b = np.polyfit(z.init_gdp, z[c], 1)
            e = z[c] - (b[0] * z.init_gdp + b[1])
            z[c + "_r"] = (e - e.mean()) / e.std()
        z["income"] = d["income"].values
        z["country"] = d["country"].values
        return z
    
    
    def fit(z):
        m = semopy.Model(MODEL)
        m.fit(z[BASE + HCR])
        return m
    
    
    def path_coefs(m):
        e = m.inspect(std_est=True)
        return {(r.lval, r.rval, r.op): float(r["Est. Std"]) for _, r in e.iterrows()}
    
    
    KEYS = [("HCX", "GOV", "~"), ("GROWTH", "GOV", "~"),
            ("GROWTH", "HCX", "~"), ("GROWTH", "init_gdp", "~")]
    
    
    def bootstrap(z, n=600, seed=0):
        rng = np.random.default_rng(seed)
        draws, ok = {k: [] for k in KEYS}, 0
        for _ in range(n):
            s = z.iloc[rng.integers(0, len(z), len(z))]
            try:
                from sem_audit import diagnose
                m = fit(s)
                _, checks = diagnose(m)
                if not checks["usable"]:
                    continue
                p = path_coefs(m)
            except Exception:
                continue
            if all(k in p for k in KEYS):
                ok += 1
                for k in KEYS:
                    draws[k].append(p[k])
        return draws, ok
    
    
    def main():
        z = prepare()
        print(f"N = {len(z)} か国\n")
        m = fit(z)
        s = semopy.calc_stats(m).T["Value"]
        print(f"=== 適合度 ===\nχ²/df = {s['chi2']/s['DoF']:.2f} CFI = {s['CFI']:.3f} "
              f"TLI = {s['TLI']:.3f} RMSEA = {s['RMSEA']:.3f} df = {int(s['DoF'])}\n")
    
        e = m.inspect(std_est=True).rename(columns={"Est. Std": "std", "Std. Err": "se",
                                                    "p-value": "p"})
        lat = set(m.vars["latent"])
        load = e[(e.op == "~") & e.rval.isin(lat) & ~e.lval.isin(lat)]
        stru = e[((e.op == "~") & e.lval.isin(lat)) |
                 ((e.op == "~~") & (e.lval != e.rval))]
        for t, sub in (("因子負荷(標準化)", load), ("パス・共分散(標準化)", stru)):
            d = sub.copy()
            d["から"] = d.rval.map(lambda x: LABELS.get(x, x))
            d["へ"] = d.lval.map(lambda x: LABELS.get(x, x))
            print(f"--- {t} ---")
            print(d[["から", "op", "へ", "std", "se", "p"]].to_string(index=False), "\n")
    
        print("=== ブートストラップ(復元抽出600回、95%区間)===")
        draws, ok = bootstrap(z)
        rows = []
        for (l, r, op), v in draws.items():
            v = np.array(v)
            lo, hi = np.percentile(v, 2.5), np.percentile(v, 97.5)
            rows.append({"key": f"{l}{op}{r}",
                         "パス": f"{LABELS.get(r,r)} → {LABELS.get(l,l)}",
                         "中央値": np.median(v), "2.5%": lo, "97.5%": hi,
                         "0をまたぐ": "はい" if lo * hi < 0 else "いいえ"})
        boot = pd.DataFrame(rows)
        print(f"収束 {ok}/600 回")
        print(boot.drop(columns="key").round(3).to_string(index=False), "\n")
    
        # ---- 所得グループ別:構造は共通か ----
        print("=== 所得グループ別(高所得 vs それ以外)===")
        grp = {"高所得": z.income == "High income", "中低所得": z.income != "High income"}
        rows = []
        for name, sel in grp.items():
            sub = z[sel]
            mm = fit(sub)
            ss = semopy.calc_stats(mm).T["Value"]
            p = path_coefs(mm)
            dr, _ = bootstrap(sub, n=400, seed=1)
            row = {"グループ": name, "N": len(sub), "CFI": ss["CFI"], "RMSEA": ss["RMSEA"]}
            for k in KEYS:
                v = np.array(dr[k])
                row[LABELS[k[1]] + "→" + LABELS[k[0]]] = (
                    f"{p[k]:+.2f} [{np.percentile(v,2.5):+.2f},{np.percentile(v,97.5):+.2f}]")
            rows.append(row)
        g = pd.DataFrame(rows)
        print(g.to_string(index=False))
    
        boot.to_csv(paths.result("country2_bootstrap.csv"), index=False)
        e.to_csv(paths.result("country2_estimates.csv"), index=False)
        s.to_csv(paths.result("country2_fit.csv"))
        g.to_csv(paths.result("country2_groups.csv"), index=False)
        z.to_csv(paths.result("country2_sample.csv"))
        print("\n-> country2_*.csv")
    
    
    if __name__ == "__main__":
        main()
    
  • 初版 Model A/Bsem_analysis.py — クリックで表示
    """World Bank オープンデータによる構造方程式モデリング(SEM)。
    
    Model A(水準 → 水準):
        制度(2012) → 人的資本(2015-19) → 繁栄(2020-23)
        ... 判別妥当性の検証用。結論としては採用しない。
    
    Model B(初期条件 → その後の成長)= 最終モデル:
        制度(2012) ┐
                   ├→ 人的資本(2012) ─→ 成長(2012→2022)
        初期所得 ──┘         └────────────────↗
    
    実行: python sem_analysis.py   (事前に fetch_data.py で wb_raw.csv を作る)
    """
    import paths
    
    import numpy as np
    import pandas as pd
    import semopy
    
    RAW = paths.raw("wb_raw.csv")
    
    MODEL_A = """
    GOV  =~ rule_of_law + gov_effect + control_corrupt + reg_quality
    HC   =~ life_exp_17 + child_surv_17 + school_sec_17
    PROS =~ log_gdp_pc_22 + internet_users + log_broadband
    HC   ~ GOV
    PROS ~ GOV + HC
    """
    
    MODEL_B = """
    # ---- 測定モデル ----
    GOV    =~ rule_of_law + gov_effect + control_corrupt + reg_quality
    HC     =~ life_exp_12 + child_surv_12 + school_sec_12
    GROWTH =~ g_gdp + g_gni + g_cons
    
    # ---- 構造モデル ----
    HC     ~ GOV + init_gdp
    GROWTH ~ GOV + HC + init_gdp
    
    # ---- 外生変数間の共分散 ----
    GOV ~~ init_gdp
    
    # ---- 残差相関(WGI は同一の原データを共有するため方法要因が残る)----
    rule_of_law ~~ control_corrupt
    gov_effect  ~~ reg_quality
    """
    
    LABELS = {
        "rule_of_law": "法の支配", "gov_effect": "政府の有効性",
        "control_corrupt": "腐敗の抑制", "reg_quality": "規制の質",
        "life_exp_12": "平均寿命(2012)", "child_surv_12": "乳幼児生存(2012)",
        "school_sec_12": "中等教育就学率(2012)",
        "g_gdp": "一人当たりGDP成長", "g_gni": "一人当たりGNI成長",
        "g_cons": "一人当たり消費成長",
        "init_gdp": "初期所得(2012)",
        "GOV": "制度の質", "HC": "人的資本", "GROWTH": "その後の成長",
        "PROS": "経済的繁栄",
    }
    
    
    def derive(path=RAW):
        df = pd.read_csv(path, index_col="iso3")
        # 右裾の長い金額系は対数化。死亡率は符号を反転して「生存」に揃える
        df["init_gdp"] = np.log(df.gdp_pc_12)
        df["child_surv_12"] = -np.log(df.under5_mort_12)
        df["child_surv_17"] = -np.log(df.under5_mort_17)
        df["log_gdp_pc_22"] = np.log(df.gdp_pc_22)
        df["log_broadband"] = np.log1p(df.broadband)
        # 2012 → 2022 の対数差 = 累積成長率
        df["g_gdp"] = np.log(df.gdp_pc_22) - np.log(df.gdp_pc_12)
        df["g_gni"] = np.log(df.gni_pc_22) - np.log(df.gni_pc_12)
        df["g_cons"] = np.log(df.cons_pc_22) - np.log(df.cons_pc_12)
        return df
    
    
    def observed_of(desc):
        """モデル記述から観測変数名を拾う。"""
        out = []
        for line in desc.splitlines():
            line = line.split("#")[0].strip()
            if "=~" in line:
                out += [t for t in line.split("=~")[1].replace("+", " ").split()]
            elif "~" in line and "~~" not in line:
                rhs = line.split("~")[1].replace("+", " ").split()
                out += [t for t in rhs if t in ("init_gdp",)]
        return sorted(set(out))
    
    
    def run(desc, df, title):
        obs = observed_of(desc)
        keep = df.dropna(subset=obs)
        z = (keep[obs] - keep[obs].mean()) / keep[obs].std()  # 標準化解を読むため
    
        model = semopy.Model(desc)
        model.fit(z)
        est = model.inspect(std_est=True).rename(
            columns={"Est. Std": "std", "Std. Err": "se", "p-value": "p"})
        stats = semopy.calc_stats(model).T["Value"]
    
        print(f"\n{'=' * 64}\n{title}   N = {len(keep)}  観測変数 {len(obs)}\n{'=' * 64}")
        print(f"χ²/df = {stats['chi2'] / stats['DoF']:.2f}   CFI = {stats['CFI']:.3f}   "
              f"TLI = {stats['TLI']:.3f}   RMSEA = {stats['RMSEA']:.3f}")
    
        lat = set(model.vars["latent"])
        load = est[(est.op == "~") & est.rval.isin(lat) & ~est.lval.isin(lat)]
        path_ = est[(est.op == "~") & ~(est.rval.isin(lat) & ~est.lval.isin(lat)) & (est.rval != "1")]
    
        def show(t, sub, cols):
            print(f"\n--- {t} ---")
            d = sub.copy()
            d["from"] = d.rval.map(lambda x: LABELS.get(x, x))
            d["to"] = d.lval.map(lambda x: LABELS.get(x, x))
            print(d[cols].to_string(index=False))
    
        show("因子負荷(標準化)", load, ["to", "from", "std", "se", "p"])
        show("パス係数(標準化)", path_, ["from", "to", "std", "se", "p"])
    
        # 残差相関で局所的な当てはまりを確認する(MI の代用)
        sigma, _ = model.calc_sigma()
        names = list(model.vars["observed"])
        cm = lambda M: M / np.outer(np.sqrt(np.diag(M)), np.sqrt(np.diag(M)))
        R = pd.DataFrame(cm(z[names].cov().values) - cm(sigma), index=names, columns=names)
        worst = max(abs(R.values[np.triu_indices(len(names), 1)]))
        print(f"\n残差相関の最大絶対値: {worst:.3f}")
        return model, est, stats, keep
    
    
    def main():
        df = derive()
    
        run(MODEL_A, df, "Model A: 制度 → 人的資本 → 繁栄(すべて水準)")
        print("\n※ Model A の HC → PROS は標準化係数がほぼ 1。"
              "\n   国レベルの横断データでは人的資本と繁栄が同一次元に潰れ、判別妥当性を満たさない。"
              "\n   → 結果変数を「水準」から「その後の成長」に変更したものが Model B。")
    
        model, est, stats, keep = run(
            MODEL_B, df, "Model B(最終): 初期条件 → その後10年の成長")
    
        p = {(r.lval, r.rval): r["std"] for _, r in est[est.op == "~"].iterrows()}
        a, b, c = p[("HC", "GOV")], p[("GROWTH", "HC")], p[("GROWTH", "GOV")]
        print("\n--- 制度の効果の分解(標準化)---")
        print(f"  直接効果 GOV → GROWTH        : {c:+.3f}")
        print(f"  間接効果 GOV → HC → GROWTH   : {a * b:+.3f}")
        print(f"  総効果                        : {c + a * b:+.3f}")
    
        est.to_csv(paths.result("sem_estimates.csv"), index=False)
        stats.to_csv(paths.result("sem_fit.csv"))
        keep.to_csv(paths.result("sem_sample.csv"))
        print("\n-> sem_estimates.csv / sem_fit.csv / sem_sample.csv")
    
    
    if __name__ == "__main__":
        main()
    
  • 頑健性チェックrobustness.py — クリックで表示
    """Model B の頑健性チェック。
    
    人的資本(HC) と 初期所得 は強く相関するため、成長式に両方を入れると
    抑制効果(suppression)で標準化係数が ±1 を超えうる。符号と有意性が
    仕様変更に耐えるかを確認する。
    """
    import numpy as np
    import pandas as pd
    import semopy
    
    from sem_analysis import derive, observed_of
    
    BASE = """GOV =~ rule_of_law + gov_effect + control_corrupt + reg_quality
    HC =~ life_exp_12 + child_surv_12 + school_sec_12
    GROWTH =~ g_gdp + g_gni + g_cons
    GOV ~~ init_gdp
    rule_of_law ~~ control_corrupt
    gov_effect ~~ reg_quality
    """
    
    SPECS = {
        "B  最終モデル":            BASE + "HC ~ GOV + init_gdp\nGROWTH ~ GOV + HC + init_gdp",
        "B1 初期所得を成長式から除外":  BASE + "HC ~ GOV + init_gdp\nGROWTH ~ GOV + HC",
        "B2 人的資本を成長式から除外":  BASE + "HC ~ GOV + init_gdp\nGROWTH ~ GOV + init_gdp",
        "B3 制度の直接パスを除外":     BASE + "HC ~ GOV + init_gdp\nGROWTH ~ HC + init_gdp",
    }
    
    if __name__ == "__main__":
        df = derive()
        obs = observed_of(SPECS["B  最終モデル"])
        keep = df.dropna(subset=obs)          # 全仕様で同一サンプルにする
        z = (keep[obs] - keep[obs].mean()) / keep[obs].std()
    
        rows = []
        for name, desc in SPECS.items():
            m = semopy.Model(desc)
            m.fit(z)
            e = m.inspect(std_est=True)
            s = semopy.calc_stats(m).T["Value"]
            g = lambda l, r: e[(e.lval == l) & (e.rval == r) & (e.op == "~")]
            pick = lambda l, r: (float(g(l, r)["Est. Std"].iloc[0]),
                                 float(g(l, r)["p-value"].iloc[0])) if len(g(l, r)) else (np.nan, np.nan)
            hc, hc_p = pick("GROWTH", "HC")
            ig, ig_p = pick("GROWTH", "init_gdp")
            gv, gv_p = pick("GROWTH", "GOV")
            rows.append({
                "仕様": name, "CFI": s["CFI"], "RMSEA": s["RMSEA"],
                "HC→成長": hc, "p": hc_p,
                "初期所得→成長": ig, "p ": ig_p,
                "制度→成長": gv, "p  ": gv_p,
            })
    
        print(f"N = {len(keep)}(全仕様で共通)\n")
        print(pd.DataFrame(rows).round(3).to_string(index=False))
    
        # HC と初期所得の潜在レベルでの相関(抑制の原因)
        m = semopy.Model(SPECS["B  最終モデル"])
        m.fit(z)
        f = m.predict_factors(z)
        r = np.corrcoef(f["HC"], z["init_gdp"])[0, 1]
        print(f"\n因子得点 HC と 初期所得 の相関 r = {r:.3f}"
              "\n→ この高相関が抑制効果の原因。符号・有意性は仕様に頑健だが、"
              "\n  標準化係数の絶対値そのものは過大に出ていると読むべき。")
    
  • データ取得fetch_data.py — クリックで表示
    """World Bank のオープンデータ(WDI / WGI)を取得して SEM 用のワイド表を作る。
    
    出力: wb_raw.csv
    
    設計の要は「時点をずらすこと」。横断データで因果の向きを主張できないので、
    説明側は 2012 年(初期条件)、結果側は 2012→2022 の変化に取る。
    
      制度の質 (GOV)     ... 2012年       Worldwide Governance Indicators (source=3)
      人的資本 (HC)      ... 2010-2014    World Development Indicators
      初期所得 (init)    ... 2010-2014    World Development Indicators
      その後の成長 (GROWTH) ... 2012 → 2022 の対数差
    
    単年だと欠損が多い指標があるため、窓の中で目標年に最も近い観測値を採用する。
    """
    import paths
    
    import json
    import time
    import urllib.request
    
    import pandas as pd
    
    API = "https://api.worldbank.org/v2"
    
    # (列名, 指標ID, 目標年, 窓の開始, 窓の終了, source)
    SPECS = [
        # --- 制度の質 (2012) ---
        ("rule_of_law",     "GOV_WGI_RL.EST", 2012, 2012, 2012, 3),
        ("gov_effect",      "GOV_WGI_GE.EST", 2012, 2012, 2012, 3),
        ("control_corrupt", "GOV_WGI_CC.EST", 2012, 2012, 2012, 3),
        ("reg_quality",     "GOV_WGI_RQ.EST", 2012, 2012, 2012, 3),
        # --- 人的資本 (2012 前後) ---
        ("life_exp_12",     "SP.DYN.LE00.IN", 2012, 2010, 2014, 2),
        ("under5_mort_12",  "SH.DYN.MORT",    2012, 2010, 2014, 2),
        ("school_sec_12",   "SE.SEC.ENRR",    2012, 2010, 2014, 2),
        # --- 初期所得と、10年後の到達水準 (成長率の材料) ---
        ("gdp_pc_12",       "NY.GDP.PCAP.PP.KD",  2012, 2010, 2014, 2),
        ("gni_pc_12",       "NY.GNP.PCAP.PP.KD",  2012, 2010, 2014, 2),
        ("cons_pc_12",      "NE.CON.PRVT.PC.KD",  2012, 2010, 2014, 2),
        ("gdp_pc_22",       "NY.GDP.PCAP.PP.KD",  2022, 2020, 2023, 2),
        ("gni_pc_22",       "NY.GNP.PCAP.PP.KD",  2022, 2020, 2023, 2),
        ("cons_pc_22",      "NE.CON.PRVT.PC.KD",  2022, 2020, 2023, 2),
        # --- 参考: 水準モデル(Model A)用の 2020年代の繁栄指標 ---
        ("internet_users",  "IT.NET.USER.ZS",     2022, 2020, 2023, 2),
        ("broadband",       "IT.NET.BBND.P2",     2022, 2020, 2023, 2),
        ("life_exp_17",     "SP.DYN.LE00.IN",     2017, 2015, 2019, 2),
        ("under5_mort_17",  "SH.DYN.MORT",        2017, 2015, 2019, 2),
        ("school_sec_17",   "SE.SEC.ENRR",        2017, 2015, 2019, 2),
        # --- 人的資本の指標入れ替え検討用(採用モデルには入っていないが、
        #     「教育のみ」「保健のみ」の試行で使ったので再現のため残す。docs/01-countries.md 参照)---
        ("school_ter_12",   "SE.TER.ENRR",        2012, 2010, 2014, 2),
        ("prm_compl_12",    "SE.PRM.CMPT.ZS",     2012, 2010, 2014, 2),
        ("school_sec_f_12", "SE.SEC.ENRR.FE",     2012, 2010, 2014, 2),
        ("edu_exp_12",      "SE.XPD.TOTL.GD.ZS",  2012, 2010, 2014, 2),
        # --- 水準モデル(Model A 系)の初期案で使い、天井効果のため外した2指標。
        #     棄却の経緯を再現できるよう残す(src/model_log.py の A1)---
        ("prm_complete",    "SE.PRM.CMPT.ZS",     2017, 2015, 2019, 2),
        ("electricity",     "EG.ELC.ACCS.ZS",     2022, 2020, 2023, 2),
    ]
    
    
    def get_json(url):
        for attempt in range(3):
            try:
                with urllib.request.urlopen(url, timeout=60) as r:
                    return json.loads(r.read().decode())
            except Exception as e:  # ネットワークの一時的な失敗はリトライ
                if attempt == 2:
                    raise
                print(f"  retry ({e})")
                time.sleep(2)
    
    
    def real_countries():
        """集計値("World", "Euro area" 等)を除いた実在国のみ返す。"""
        rows, page = [], 1
        while True:
            d = get_json(f"{API}/country?format=json&per_page=300&page={page}")
            rows += d[1]
            if page >= d[0]["pages"]:
                break
            page += 1
        return {
            c["id"]: {"country": c["name"], "region": c["region"]["value"],
                      "income": c["incomeLevel"]["value"]}
            for c in rows if c["region"]["id"] != "NA"
        }
    
    
    def fetch(indicator, target, y0, y1, source):
        """窓 [y0, y1] の観測のうち、目標年 target に最も近い年の値を国ごとに返す。"""
        best = {}  # iso3 -> (目標年との距離, 値)
        page = 1
        while True:
            url = (f"{API}/country/all/indicator/{indicator}"
                   f"?format=json&date={y0}:{y1}&per_page=2000&page={page}&source={source}")
            d = get_json(url)
            if not isinstance(d, list) or len(d) < 2 or d[1] is None:
                break
            for row in d[1]:
                iso, val = row["countryiso3code"], row["value"]
                if val is None or not iso:
                    continue
                dist = abs(int(row["date"]) - target)
                if iso not in best or dist < best[iso][0]:
                    best[iso] = (dist, val)
            if page >= d[0]["pages"]:
                break
            page += 1
        return pd.Series({k: v[1] for k, v in best.items()})
    
    
    if __name__ == "__main__":
        meta = real_countries()
        print(f"実在国: {len(meta)}\n")
    
        df = pd.DataFrame.from_dict(meta, orient="index")
        for col, ind, target, y0, y1, src in SPECS:
            df[col] = fetch(ind, target, y0, y1, src)
            print(f"{col:16s} {ind:17s} 窓{y0}-{y1}  取得 {df[col].notna().sum():3d}/{len(df)}")
    
        df.index.name = "iso3"
        df.to_csv(paths.raw("wb_raw.csv"))
        print("\n-> wb_raw.csv")
    
  • 図の生成make_country2_diagram.py — クリックで表示
    # -*- coding: utf-8 -*-
    """国レベルSEM(作り込み版)のパス図。出力: country2_path_diagram.svg"""
    import paths
    
    import pandas as pd
    import semopy
    
    from make_path_diagram import (BOX_LINE, C_NEG, C_NS, C_POS, FONT, INK, INK2, INK3,
                                   SURFACE, Node, arrow, path_style, stars, loading_label, text)
    from sem_country_v2 import HCR, LABELS, MODEL, BASE, prepare
    
    W, H = 1280, 956
    P, PH = 116, 700
    
    
    def corr_line(a, b, label, vertical=True):
        if vertical:
            x, y1, y2 = a.cx, a.cy + a.h / 2, b.cy - b.h / 2
            d = f"M{x},{y1} L{x},{y2}"
            lx, ly = x, (y1 + y2) / 2
        else:
            x1, y1 = a.edge(b.cx, b.cy)
            x2, y2 = b.edge(a.cx, a.cy)
            d = f"M{x1:.1f},{y1:.1f} L{x2:.1f},{y2:.1f}"
            lx, ly = (x1 + x2) / 2, (y1 + y2) / 2
        s = (f'<path d="{d}" fill="none" stroke="{INK3}" stroke-width="1.6" '
             f'stroke-dasharray="6 4" marker-end="url(#ah-{INK3[1:]})" '
             f'marker-start="url(#ah-{INK3[1:]})"/>')
        bw = len(label) * 7.3 + 12
        s += (f'<rect x="{lx-bw/2:.1f}" y="{ly-11:.1f}" width="{bw:.1f}" height="21" rx="4" '
              f'fill="{SURFACE}" opacity="0.96"/>' + text(lx, ly + 4, label, 12, INK3, "600", "middle"))
        return s
    
    
    def build():
        z = prepare()
        m = semopy.Model(MODEL)
        m.fit(z[BASE + HCR])
        e = m.inspect(std_est=True)
        s = semopy.calc_stats(m).T["Value"]
        est = {(r.lval, r.rval, r.op): (float(r["Est. Std"]),
                                        None if r["p-value"] == "-" else float(r["p-value"]))
               for _, r in e.iterrows()}
        boot = pd.read_csv(paths.result("country2_bootstrap.csv")).set_index("key")
        grp = pd.read_csv(paths.result("country2_groups.csv"))
    
        out = [f'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 {W} {H}" width="{W}" height="{H}">',
               f'<rect width="{W}" height="{H}" fill="{SURFACE}"/>', "<defs>"]
        for c in (C_POS, C_NEG, C_NS, INK3):
            out.append(f'<marker id="ah-{c[1:]}" viewBox="0 0 10 10" refX="9" refY="5" '
                       f'markerWidth="7" markerHeight="7" orient="auto-start-reverse">'
                       f'<path d="M0,1 L9,5 L0,9 z" fill="{c}"/></marker>')
        out.append("</defs>")
    
        out.append(text(48, 50, "所得の割に人的資本が厚い国は、その後10年よく伸びる — 128か国の構造方程式モデリング(SEM)",
                        21, INK, "700"))
        out.append(text(48, 76, "World Bank Open Data(WGI 2012 / WDI 2010-14, 2020-23)。"
                                "人的資本の各指標は初期所得に回帰した残差に置き換え、所得と直交させた。", 12.5, INK3))
    
        out.append(f'<rect x="40" y="{P}" width="{W-80}" height="{PH}" rx="10" fill="#ffffff" '
                   f'stroke="{BOX_LINE}"/>')
        out.append(text(64, P + 32, "制度 → 人的資本 → 成長。ただし制度と成長の直接の関連は示せない",
                        15.5, INK, "700"))
        out.append(text(64, P + 56,
                        f"N = 128 か国 χ²/df = {s['chi2']/s['DoF']:.2f} CFI = {s['CFI']:.3f} "
                        f"TLI = {s['TLI']:.3f} RMSEA = {s['RMSEA']:.3f} "
                        f"標準化係数の最大絶対値 = 1.00(初版の 1.07 から解消)", 12.5, INK3))
    
        GOV = Node(450, P + 160, 168, 66, "制度の質", True, "2012")
        INIT = Node(450, P + 330, 210, 46, "初期所得", False, "log 一人当たりGDP 2012")
        HCX = Node(740, P + 432, 236, 74, "所得水準を超えた", True, "人的資本")
        GR = Node(920, P + 160, 178, 66, "その後の成長", True, "2012→2022")
    
        gov_ind = ["rule_of_law", "gov_effect", "control_corrupt", "reg_quality"]
        gb = [Node(160, P + 92 + i * 46, 216, 38, LABELS[k]) for i, k in enumerate(gov_ind)]
        hb = [Node(500 + i * 240, P + 578, 228, 44,
                   LABELS[k].split("(")[0], False, "所得調整後")
              for i, k in enumerate(HCR)]
        gr_ind = ["g_gdp", "g_gni", "g_cons"]
        rb = [Node(1156, P + 114 + i * 46, 154, 38, LABELS[k]) for i, k in enumerate(gr_ind)]
    
        for lat, boxes, keys, key in ((GOV, gb, gov_ind, "GOV"), (HCX, hb, HCR, "HCX"),
                                      (GR, rb, gr_ind, "GROWTH")):
            for n, k in zip(boxes, keys):
                out.append(arrow(lat, n, loading_label(*est[(k, key, '~')]), INK3, 1.3, lab_t=.46))
    
        for src, dst, key, bow, t in ((GOV, HCX, ("HCX", "GOV", "~"), 0, .42),
                                      (HCX, GR, ("GROWTH", "HCX", "~"), 0, .5),
                                      (INIT, GR, ("GROWTH", "init_gdp", "~"), 0, .66),
                                      (GOV, GR, ("GROWTH", "GOV", "~"), -70, .5)):
            v, p = est[key]
            c, wd, d = path_style(v, p)
            out.append(arrow(src, dst, f"{v:.2f}{stars(p)}", c, wd, d, bow=bow, lab_t=t))
    
        cv = est.get(("GOV", "init_gdp", "~~")) or est.get(("init_gdp", "GOV", "~~"))
        out.append(corr_line(GOV, INIT, f"相関 {cv[0]:+.2f}"))
        cv2 = est.get(("HCX", "init_gdp", "~~")) or est.get(("init_gdp", "HCX", "~~"))
        out.append(corr_line(INIT, HCX, f"相関 {cv2[0]:+.2f}", vertical=False))
    
        for n in (GOV, INIT, HCX, GR, *gb, *hb, *rb):
            out.append(n.svg())
    
        # ---- ブートストラップ ----
        by = P + 628
        out.append(f'<rect x="64" y="{by}" width="600" height="60" rx="8" fill="#fdf8ef" '
                   f'stroke="#e8d9b8"/>')
        out.append(text(82, by + 22, "ブートストラップ(600回)95%区間", 12.5, "#8a6d1f", "700"))
        for i, (k, lab) in enumerate((("GROWTH~HCX", "人的資本 → 成長"),
                                      ("HCX~GOV", "制度 → 人的資本"))):
            r = boot.loc[k]
            y = by + 42 + i * 0
            x = 82 + i * 300
            out.append(text(x, y, f"{lab} {r['中央値']:+.2f} "
                                  f"[{r['2.5%']:+.2f}, {r['97.5%']:+.2f}] 0を含まない", 11.5, INK2))
    
        # ---- 所得グループ ----
        out.append(f'<rect x="684" y="{by}" width="532" height="60" rx="8" fill="#f2f7fd" '
                   f'stroke="#cfe0f5"/>')
        out.append(text(702, by + 22, "所得グループ別:人的資本 → 成長", 12.5, "#1c5cab", "700"))
        cell = [c for c in grp.columns if "人的資本→" in c][0]
        txt = " ".join(f"{r['グループ']}(N={r['N']}) {r[cell]}" for _, r in grp.iterrows())
        out.append(text(702, by + 42, txt, 11, INK2))
    
        # ---- 凡例 ----
        lg = H - 102
        out.append(text(48, lg, "凡例", 12, INK, "700"))
        out.append(f'<ellipse cx="110" cy="{lg-5}" rx="21" ry="11" fill="#eef4fd" '
                   f'stroke="{C_POS}" stroke-width="2"/>')
        out.append(text(140, lg, "潜在変数", 12, INK2))
        out.append(f'<rect x="206" y="{lg-16}" width="42" height="22" rx="4" fill="#ffffff" '
                   f'stroke="{BOX_LINE}" stroke-width="1.5"/>')
        out.append(text(256, lg, "観測変数", 12, INK2))
        for x, col, wd, ds, lab in ((330, C_POS, 2.4, "", "正の効果(有意)"),
                                    (500, C_NS, 1.6, ' stroke-dasharray="6 4"', "非有意")):
            out.append(f'<path d="M{x},{lg-5} L{x+52},{lg-5}" stroke="{col}" stroke-width="{wd}"'
                       f'{ds} marker-end="url(#ah-{col[1:]})"/>')
            out.append(text(x + 60, lg, lab, 12, INK2))
        out.append(f'<path d="M660,{lg-5} L712,{lg-5}" stroke="{INK3}" stroke-width="1.6" '
                   f'stroke-dasharray="6 4" marker-end="url(#ah-{INK3[1:]})" '
                   f'marker-start="url(#ah-{INK3[1:]})"/>')
        out.append(text(720, lg, "相関(因果を仮定しない)", 12, INK2))
        out.append(text(900, lg, "数値は標準化係数 *** p<.001 ** p<.01 * p<.05", 12, INK3))
        out.append(text(48, lg + 20,
                        "※「所得水準を超えた人的資本」は、平均寿命・乳幼児生存・中等教育就学率それぞれを"
                        "初期所得に回帰した残差から作った潜在変数。初期所得とは定義上ほぼ直交する。", 11, INK3))
        out.append(text(48, lg + 38,
                        "※ 横断データの時点差による設計であり、矢印の向きはデータからは決まらない。"
                        "WGI の4指標には同一原データ由来の残差相関を2本許容。", 11, INK3))
        out.append(f'<text x="{W-48}" y="{lg+38}" text-anchor="end" font-family="{FONT}" '
                   f'font-size="11" fill="{INK3}">出典: World Bank Open Data (WGI / WDI)</text>')
        out.append(text(48, H - 25,
                        "因子負荷量:細い灰色の矢印。† 非標準化係数を1に固定(検定対象外)。n.s. は p≥.05。", 11, INK3))
        out.append(text(48, H - 9,
                        "星印は非標準化係数の漸近的な検定結果。表示する数値は標準化係数。", 11, INK3))
        out.append("</svg>")
        return "\n".join(out)
    
    
    if __name__ == "__main__":
        svg = build()
        with open(paths.figure("country2_path_diagram.svg"), "w") as f:
            f.write(svg)
        print(f"-> country2_path_diagram.svg ({len(svg)/1024:.1f} KB)")
    

この分析の詳細ドキュメント →

分析を再現する

Python 3.13 が必要(3.14 には semopy の wheel が無い)。 make setup && make all で全分析と全図が約50秒で再生成される。 data/raw/ に生データをコミットしてあるためネットワークは不要。