ryu9_Quantitative_Economics

2016年6月7日火曜日

景気判断のリトマス紙

2014年、平成26年の4月に消費税率を8%にアップしてその後10%引き上げを延期した。
んだけど

(1)デフレを脱した
(2)増税しても景気に影響なし

この2つの判断だったけど、2016年6月に再延期

景気指標には速報と確報があるが、速報は景気の足元の判断を迅速化するための暫定的材料

確報はその名の通り確定値

速報は、暫定とはいえ、経済の現状を計るのに客観性が要求される。
単純に「安倍総理は歴史に残る」=「だから安倍総理の判断マンセー」では速報の意味はない。

そういう経済刺胞の公表機関ってあるのだろうか。
あるとすればプライド無き、病人か国粋主義者か、過激派、どっちにしてもテロリストとみなされる


だからこそ、景気判断は過去の情報の蓄積と、最新の学術的成果が要求される。
個人の好みと偏向した経験で景気判断をすると、格好良い結果とは言えない

2016年4月14日木曜日

Decimal BASICで産業連関分析

十進BASIC/Decimal BASICで産業連関分析をやってみる/やっている。

かれこれ20年になるがWindows時代になってF-BASICが有料になったのでこうなった。一言でいえばINV関数は便利、行列計算が1個ずつなのが難点、データの入出力もMAT文で読み込むときは行の最後にコンマをつけないといけない(らしい)。

私の勉強不足もあるかもしれないが、スカイライン図とか描画系となると、やはり強い。DBASIC(Decimal BASICなのでこう略している)の強さは計算しながら図で確認できるところだ。
テキストの出力は遅く感じるけど、なにより言語の習得が圧倒的に楽。
講談社BlueBacksの木村良夫『パソコンを遊ぶ簡単プログラミング』1冊あれば習得できて数学も楽しめる。図が必須のシステム制御とかシステムダイナミックス的なこともできる。sampleコードの結構多いし、充実している。


下のコードは
内生344部門、粗付加価値10、需要50の395×395のデータを読み込んで逆行列を求め、横軸に算出額構成比、縦軸に産出乗数(レオンチェフ逆行列の列和)をとったグラフを描画するもの。

産業部門の規模と乗数を視覚化すれば、経済効果は高いが規模の小さい部門と、経済効果は低いが規模の大きな部門を視覚的に比較できるので、経済効果の誘発係数のみで議論する愚をさけることができる。

例えば、麦のように経済効果が高くても、経済規模が小さいような部門をどう評価するか。議論の出発点にはなるし、なぜ経済効果が高いのかという投入構造(費用構成)にまで議論を拡張できる。創始者のレオンチェフはなくなったが、産業連関分析の可能性はまだまだある。ちなみに三角化チャートの図も簡単にかけるし、ユニットストラクチャーも簡単に計算描画できる。取り出したい部門だけ描画するなど自由度も高いのがこの言語のいいところだ。



LET  n1=355
LET  n2=395
LET  n=344
LET  nn=50
LET  nnn=50
LET  mm=10
LET  mmm=10
dim datax(n1,n2)
DIM xi(n,n),v(mmm,n),f(n,nnn),m(n),x(n)
DIM a(n,n),mr(n),mc(n,n),mcv(n)
dim ii(n,n),xa(n,n),cb(n,n),sd(n),ob(n,n),ia(n,n)
rem **************** label ****************
DIM w$(n1),wv$(mmm),wfd$(n1)
OPEN #1:NAME "label_demand.txt"
FOR i=1 TO nnn
   INPUT #1:wfd$(i)
NEXT i
CLOSE #1
OPEN #1:NAME "label344.txt"
FOR i=1 TO n1
   INPUT #1:w$(i)
next i
CLOSE #1
FOR i=1 TO mmm
   LET wv$(i)=w$(n1-mmm+i)
NEXT i
REM **************** data(単位:百万円) ****************
LET f$="2005_okinawa_344.txt"
OPEN #1:NAME f$
MAT INPUT #1:datax
CLOSE #1
FOR i=1 TO n
   for j=1 to n
      LET  xi(i,j)=datax(i,j)
   next j
next i
REM MAT PRINT xi

for i=1 to n
   LET  x(i)=datax(n1,i)
NEXT i
REM MAT PRINT x

FOR i=1 TO n
   for j=1 to nnn
      LET  f(i,j)=datax(i,n+1+j)
   next j
next i
print "f"
REM MAT PRINT f

for i=1 to mmm
   for j=1 to n
      LET  v(i,j)=datax(n+1+i,j)
   next j
NEXT i

REM print "v"
rem FOR i=1 TO mmm
REM    PRINT wv$(i),
REM   FOR j=1 TO n
REM      PRINT v(i,j),
REM   NEXT j
REM    PRINT
rem NEXT i
REM MAT PRINT v
rem STOP

REM **************** 移輸入計383,384(344) ************
LET  importv=383
REM LET  transpv=96
FOR i=1 TO n
   REM PRINT (i),w$(i),datax(i,importv),datax(i,importv+1)
   LET  m(i)=datax(i,importv)+datax(i,importv+1)
next i
for k=1 to n
   LET  m(k)=-1*m(k)
next k
CLOSE #1
PRINT "m"
REM FOR i=1 TO n
REM   PRINT m(i)
REM next i
REM mat print m

for k=1 to n
   for kk=1 to n
      if x(kk)<>0 then LET  a(k,kk)=xi(k,kk)/x(kk) else LET  a(k,kk)=0
   next kk
next k

print "input coefficient a(i,j)"
REM mat print a
FOR i=1 TO n
   REM   PRINT w$(i),
   FOR j=1 TO n
      REM       PRINT a(i,j),
   NEXT j
   REM   PRINT
NEXT i

REM **************** 最終需要:地域内需要合計 ************
LET  fdemand=360
for k=1 to n
   LET  mr(k)=m(k)/(datax(k,fdemand))
   REM 移輸入額>域内需要(定義的にあり得んと思うがとりあえず対策(^^;
   IF mr(k)>1 THEN LET mr(k)=1
   LET  mcv(k)=1-mr(k)
   REM PRINT k,mr(k),mcv(k),datax(k,fdemand),m(k),w$(k)
NEXT k
print "移輸入率(mr)"
REM mat print mr

FOR k=1 TO n
   for kk=1 to n
      if k=kk then LET  mc(k,kk)=1-mr(k)
      IF mc(k,kk)<0 k="" kk="" let="" mc="" p="" then="">   NEXT kk
NEXT k

print "自給率(I-M)"
REM print mc
PRINT "自給率(ベクトル)mcv"
rem MAT PRINT mcv

REM FOR i=1 TO n
REM    PRINT i,w$(i),mcv(i)
REM NEXT i

REM print "leontief inverse matrix"
mat ii=idn(n,n)
mat ia=ii-a
mat cb=inv(ia)
REM MAT PRINT cb

PRINT "出力の制御"

mat xa=mc*a
mat xa=ii-xa
REM mat print xa
mat ob=inv(xa)
REM print "inverse matrix  1/(I-(I-M)A)"
REM mat print ob

rem print "cb ob diagonal"
REM FOR i=1 TO n
REM    PRINT cb(i,i),ob(i,i),cb(i,i)-ob(i,i)
REM NEXT i

REM **********************************************************
REM **************  以上基本計算ルーチン  ********************
REM *******************    産出乗数   ************************
REM **********************************************************
REM 産出乗数、産出額構成比 x(i) -> cpx(i)
REM 横軸を需要や所得に変更して分析するのも可
REM
DIM multiple(n),cpx(n),multiplex(n)
FOR j=1 TO n
   LET summ=0
   LET summx=0
   FOR i=1 TO n
      LET  summ=summ+ob(i,j)
      LET  multiple(j)=summ
      LET  summx=summx+cb(i,j)
      LET  multiplex(j)=summx
   NEXT i
   PRINT j,multiple(j),multiplex(j),multiplex(j)-multiple(j),w$(j)
NEXT j
REM 構成比に用いる項目生産額:x(i)=datax(i,n1) ; 域内最終需要:datax(i,359),域内総需要(i,360),総生産(i,395)
REM 構成比は移輸出、移輸入、貿易の絶対額{移輸出+移輸入(絶対値)}でも面白い

LET  s=0
FOR i=1 TO n
   REM  s=s+x(i)
   REM PRINT s
   LET  s=s+datax(i,395)
NEXT i
REM PRINT s
PRINT "部門名 輸入内生化型産出乗数 輸入外生化型算出乗数 構成比 面積"
FOR i=1 TO n
   REM  cpx(i)=100*x(i)/s
   LET  cpx(i)=100*datax(i,395)/s
   PRINT USING "#### " : i ;
   PRINT multiple(i),multiplex(i),cpx(i),100*multiple(i)*cpx(i),w$(i)
NEXT i

!'**********************************
dim sum(n)

LET  maxn=0
FOR i=1 TO n
   IF multiple(i)>=maxn THEN LET  maxn=multiple(i)
NEXT i

REM ******************************************
REM *************  部門数選択   *************
REM startsector、endsector:描画開始―終了部門
REM ******************************************
DIM dcpx(n),dmultiple(n),dmultiplex(n)
LET startsector=1
LET endsector=60
LET newn=endsector-startsector

FOR i=startsector TO endsector
   LET dcpx(i+1-startsector)=cpx(i)
   LET dmultiple(i+1-startsector)=multiple(i)
   LET dmultiplex(i+1-startsector)=multiplex(i)
NEXT i

LET n=newn
FOR i=1 TO n
   LET cpx(i)=dcpx(i)
   LET multiple(i)=dmultiple(i)
   LET multiplex(i)=dmultiplex(i)
NEXT i
LET s=0
FOR i=1 TO n
   LET s=s+dcpx(i)
NEXT i
FOR i=1 TO n
   LET  cpx(i)=100*dcpx(i)/s
NEXT i

PRINT "maxn : ",maxn
REM LET  maxn=4
REM ************** sect Window ***************
REM ******* SET WINDOW  left,right ,bottom,top
rem ************** 縦横軸補正 ****************
LET  botm=-1
LET  upper=6
REM *************** 右、左 *******************
LET  leftax=-2
LET  rightax=100
SET WINDOW leftax,rightax+2,botm-0.5,maxn+upper
PLOT LINES:leftax,0;rightax+2,0

PLOT TEXT ,AT 70,maxn+1:"Leontief Multiplier Chart : "
PLOT TEXT ,AT 70,maxn+2:f$

dim dx(n)
LET  s=0
for i=1 to n
   LET  s=s+cpx(i)
   LET  dx(i)=s
next i

dim pdot(n),edot(n)
LET  s=0
for i=1 to n
   LET  pdot(i)=dx(i)-(cpx(i)/1.6)
next i
dim numa(n),numb(n)
for i=1 to n step 2
   LET  numa(i)=i
   LET  numb(i)=i+1
   REM print numa(i),numb(i)
next i

LET  s=0
for i=1 to n
   LET  s=s+100/n
   LET  edot(i)=s-50/n
   IF i=numa(i) THEN PLOT TEXT ,AT edot(i)-0.5,0.8*botm:STR$(i+startsector) ELSE PLOT TEXT ,AT edot(i)-0.6,botm:STR$(i+startsector)
next i
SET LINE style 1
SET LINE WIDTH 1
SET LINE COLOR 1
for i=1 to n
   if i=numa(i) then plot lines:pdot(i),0;edot(i),0.5*botm else plot lines:pdot(i),0;edot(i),0.5*botm;edot(i),0.7*botm
next i

REM INPUT PROMPT "dum=":dummy
REM ************** revised ***************
REM prtxt Box内に表示する構成比の下限値、文字の表示位置 -> y:yst
SET LINE STYLE 1
SET LINE WIDTH 1
SET LINE COLOR 5
REM FOR i=1 TO n
REM PRINT i,cpx(i),dx(i),pdot(i),edot(i)
REM NEXT i
LET  prtxt=1.4
LET  yst=0.5
FOR i=1 TO n
   IF cpx(i)>=prtxt THEN  PLOT TEXT ,AT dx(i)-prtxt*cpx(i)/2, multiple(i)  :STR$(i+startsector)
NEXT i


rem *************** sector code ****************
REM 上の線:産出乗数の描画:輸入外生(標準乗数)
REM 必要が無ければこの線は描画しない

LET  sss=0
SET LINE STYLE 3
SET LINE WIDTH 1
SET LINE COLOR 4
plot 0,0;
FOR i=1 TO n
   PLOT LINES:sss,multiplex(i);
   LET  sss=sss+cpx(i)
   PLOT LINES:sss,multiplex(i);
   plot lines:sss,0;
   LET  sum(i)=sss
NEXT i

REM 上の線:産出乗数の描画:輸入内生(自給率調整乗数)
LET  sss=0
SET LINE STYLE 1
SET LINE WIDTH 1
SET LINE COLOR 1
plot 0,0;
for i=1 to n
   PLOT LINES:sss,multiple(i);
   LET  sss=sss+cpx(i)
   PLOT LINES:sss,multiple(i);
   plot lines:sss,0;
   LET  sum(i)=sss
NEXT i

REM ゼロの線:赤
PLOT LINES
SET LINE STYLE 1
SET LINE WIDTH 2
SET LINE COLOR 4
PLOT LINES:leftax,0;rightax+2,0

REM 1の基線:青
PLOT LINES
SET LINE STYLE 3
SET LINE WIDTH 1
SET LINE COLOR 2
PLOT LINES:leftax,1;rightax+2,1



END



2013年12月17日火曜日

Small data

 スモールデータは、(ビッグデータおよび/あるいは「局所的な」情報源から導出された)タイムリーかつ有意義な洞察を、アクセス可能か つ理解可能、日々の業務でアクション可能なかたちに(そしてしばしばビジュアルなかたちに)体系化してまとめ上げたうえで、人と結びつけるものである。
http://japan.zdnet.com/cio/sp/35041193/

ビッグデータをアクション可能なかたちのスモールデータに変換するエンドユーザーアプリやアナリスト向けワークベンチにも適用される

鍵となる「重要な」言葉は、 
1.体系化することと、 
2.まとめ上げること 
3.結びつけることであり、
その「価値」は洞察を全員にもたらし(アクセス可能)、適用しやすくし(理解可能)、手元の作業に集中できる(アクション可能)ようにすることに根ざしている。 

2013年2月1日金曜日

data.frameきついっす!

データフレームから必要な列を抽出して、新しいデータフレームを作成する。

subsetで必要な列を抽出する。
1.dat01からx01、x02、x03を抽出して作成。
2.結合する

x01<-subset dat01="dat01" select="Q101:Q102)<br">x02<-subset dat01="dat01" select="Q104)<br">x03<-subset dat01="dat01" select="Q107:Q109)</p">
x04<-merge p="p" x01="x01" x02="x02" x03="x03">
めんどい、でも終わり

フリードマン 『米国金融史』



確か、50前後でイェール大学へ移った浜田先生
頭脳の海外流出って話題になってた。
日銀は変われるのか

2012年12月3日にでた日経ビジネス文庫「」経済学の巨人 危機と闘う」
p93フリードマンの項で『米国金融史』でFRBの議事録を詳細に調べ上げ
「結果が良ければそれを自分の手柄にし、悪ければその責任を逃れようとするのは、人間の常である」
好況期には「金融政策は有効な手段であり、それを巧みに操れば物事が順調に進むのは間違いない」と主張する。

逆に不況になると「金融政策に自由裁量の余地はほとんどなく、金融政策の大半は他の要因の影響を受けて実施されるもの」と弁解する。

これって今の日銀のことだといわれても首肯できるね。


2012年6月5日火曜日

Windows の脆弱性の修正について(MS11-087)

第11-37-235号

最終更新日:2011年12月14日

※追記すべき情報がある場合には、その都度このページを更新する予定です。
概要

日本マイクロソフト社の Windows にリモートからコード(命令)が実行される等の脆弱性が存在します。(2639417)(MS11-087)

TrueType フォントの解析の脆弱性 - CVE-2011-3402

この脆弱性は、TrueType フォントファイルの処理に存在します。攻撃者は、この脆弱性を悪用した攻撃コードを埋め込んだウェブサイトを作成し利用者を誘導、または攻撃コードを埋め込んだ文書ファイルを作成し利用者に開かせます。利用者がそのウェブサイトを閲覧、または文書ファイルを開いた場合、コンピュータを攻撃者により制御される恐れがあります。

この脆弱性を悪用した攻撃が既に確認されているため、MS11-087 を至急適用してください。
対象

次の Windows 製品が対象です。

    Windows XP SP3
    Windows XP Professional x64 Edition SP2
    Windows Server 2003 SP2
    Windows Server 2003 x64 Edition SP2
    Windows Server 2003 with SP2 for Itanium-based Systems
    Windows Vista SP2
    Windows Vista x64 Edition SP2
    Windows Server 2008 for 32-bit Systems SP2
    Windows Server 2008 for x64-based Systems SP2
    Windows Server 2008 for Itanium-based Systems SP2
    Windows 7 for 32-bit Systems および同SP1
    Windows 7 for x64-based Systems および同SP1
    Windows Server 2008 R2 for x64-based Systems および同SP1
    Windows Server 2008 R2 for Itanium-based Systems および同SP1

対策
1.脆弱性の解消 - 修正プログラムの適用 -

 日本マイクロソフト社から提供されている修正プログラムを適用して下さい。修正プログラムの適用方法には、Microsoft Update による一括修正の方法と、個別の修正プログラムをダウンロードしてインストールする方法があります。

    Microsoft Update による一括修正方法
    Microsoft Update の機能を利用することによって、複数のセキュリティ修正プログラムを一括してインストールすることができます。
    http://windowsupdate.microsoft.com/

    Microsoft Update の利用方法については以下のサイトを参照してください。
    http://www.microsoft.com/ja-jp/security/pc-security/j_musteps.aspx

    なお、Service Pack の適用を制御している場合、一括修正で最新のService Pack が適用される可能性がありますので、ご注意ください。個別の修正プログラムをダウンロードしてインストールする方法下記の日本マイクロソフト社のページより、修正プログラムをダウンロードしてインストールします。
    http://technet.microsoft.com/ja-jp/security/bulletin/ms11-087

2.回避策 -

 日本マイクロソフト社から提供される情報を参照して下さい。 

    日本マイクロソフト社からの情報(MS11-087)
    http://technet.microsoft.com/ja-jp/security/bulletin/ms11-087

参考情報

    JVN
    http://jvn.jp/cert/JVNVU316553
    JVN iPedia
    http://jvndb.jvn.jp/jvndb/JVNDB-2011-003039
    US-CERT
    https://www.kb.cert.org/vuls/id/316553
    SecurityFocus
    http://www.securityfocus.com/bid/50462
    Secunia
    https://secunia.com/advisories/46724/
    CVE
    CVE-2011-3402

ンチェッカへのリンクを追加
2011年12月8日     掲載
IPAより
Adobe Reader および Acrobat の脆弱性(APSA11-04)について

第11-36-234号

最終更新日:2012年1月12日

※追記すべき情報がある場合には、その都度このページを更新する予定です。

MyJVNバージョンチェッカによる最新バージョン利用の簡易チェックが行えます。こちらからご利用ください。
概要

Adobe Reader および Acrobat に、任意のコード(命令)を実行される脆弱性(APSA11-04)が存在します。

この脆弱性を悪用された場合、プログラムが異常終了したり、攻撃者によってパソコンを制御される可能性があります。また、この脆弱性を悪用した標的型攻撃が既に確認されているため、至急、対策をとってください。

2012年1月10日(米国時間)までに、9.x および X において修正されたバージョンが公開されました。
対象

次の Adobe 製品が対象です。

    Windows、Macintosh 版 Adobe Reader X (10.1.1)以前のバージョン
    Windows、Macintosh、Unix 版 Adobe Reader 9.4.6 以前のバージョン
    Windows、Macintosh 版 Adobe Acrobat X(10.1.1)以前のバージョン
    Windows、Macintosh 版 Adobe Acrobat 9.4.6 以前のバージョン

対策
脆弱性の解消

アドビシステムズ社から提供されている最新版に更新して下さい。

    Adobe Reader のアップデート方法
    Adobe Reader を起動し、「ヘルプ」メニューの「アップデートの有無をチェック」から更新することができます。または、次の URL から、最新版をダウンロードしてください。
    http://get.adobe.com/jp/reader/
    Acrobat のアップデート方法
    次のアドビシステムズ社のページより、対象製品のアップデートをすることができます。
    アドビ - 製品のアップデート
    http://www.adobe.com/jp/downloads/updates/

参考情報

    Adobe Systems
    http://kb2.adobe.com/jp/cps/926/cpsid_92600.html
    CVE
    CVE-2011-2462
    Secunia
    http://secunia.com/advisories/47133
    SecurityFocus
    http://www.securityfocus.com/bid/50922
    US-CERT
    http://www.kb.cert.org/vuls/id/759307.html
    JVN
    http://jvn.jp/cert/JVNVU759307/

更新履歴
2012年1月12日     Adobe Reader X および Acrobat X の更新情報を追加
2011年12月19日     Adobe Reader 9.x および Acrobat 9.x の更新情報を追加
2011年12月9日     MyJVN バージョ