Rで解析:ウェーブレット解析「W2CWM2C」パッケージの紹介

Rの解析に役に立つ記事
スポンサーリンク

ウェーブレット解析の歴史を調べると、フランスの地質学者Jean Morletが1975年頃に衝撃波の反射を三角関数で重ね合わせ、信号として表現し油床の存在を推定しようとしました。その作業は非常に困難だったようです。そこで、1980年初頭に三角関数ではなく「短い波」を重ね合わせ信号として表現する理論を構築しました。これが「現在のウェーブレット解析」の基礎となるようです。

ウェーブレット解析は、地質学、宇宙物理学、タンパク質解析だけではなく、2001年に規格化されたJPEG 2000の画像圧縮アルゴリズムにも使用されています。なんとなく「ウェーブレット解析」という名前を聞かれたことがあるのではないでしょうか。

残念ながら、ウェーブレット解析の詳細を説明する力量がないので、参考URLまたは参考PDFを書かれた大阪教育大学 芦野 隆一先生も翻訳に関わっている本を参照ください。

ウェーブレット解析、何か未知の可能性を感じます。学ぶ価値があると思います。

パッケージのバージョンは2.2。windows11のR version 4.2.2で確認しています。


参考図書:ウェーヴレットと直交関数系
出版社: 東京電機大学出版局 (2001/04)


参考URL:
大阪教育大学 芦野 隆一先生のウェブページ
https://www.osaka-kyoiku.ac.jp/~ashino/indexj.html
https://www.osaka-kyoiku.ac.jp/~ashino/pdf/wavelet.pdf

画像圧縮アルゴリズム
http://fussy.web.fc2.com/algo/algo8-8.htm

スポンサーリンク

パッケージのインストール

下記コマンドを実行してください。

#パッケージのインストール
install.packages("W2CWM2C")

実行コマンドの紹介

詳細はコマンドまたはパッケージヘルプを確認してください。

#パッケージの読み込み
library("W2CWM2C")

###データ例の準備#####
#パッケージ付属のデータを読み込み
data(dataexample)
#読み込みデータの整形
dataexample <- dataexample[-1]
dataexample <- dataexample[, 1:5]
lrdatex <- apply(log(dataexample), 2, diff)
inputDATA <- ts(lrdatex, start = 1, frequency = 1)
########

###&#20840;&#12467;&#12510;&#12531;&#12489;&#20849;&#36890;&#12458;&#12503;&#12471;&#12519;&#12531;&#12398;&#35500;&#26126;#####
#&#35500;&#26126;&#12364;&#22256;&#38627;&#12394;&#31623;&#25152;&#12399;&#21407;&#25991;&#12391;&#12377;
#inputDATA:&#35299;&#26512;&#12487;&#12540;&#12479;,ts&#12463;&#12521;&#12473;&#12398;&#12458;&#12502;&#12472;&#12455;&#12463;&#12488;&#12391;&#26178;&#31995;&#21015;&#12487;&#12540;&#12479;&#12391;&#12377;,
#          &#20184;&#23646;&#12487;&#12540;&#12479;&#12434;&#30906;&#35469;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;
#Wname:The wavelet function or filter to use in the decomposition
#J:Specifies the depth of the decomposition
#device: &ldquo;screen&rdquo;, &ldquo;jpg&rdquo;, &ldquo;png&rdquo;, &ldquo;eps&rdquo;, &ldquo;pdf&rdquo;&#12364;&#25351;&#23450;&#21487;&#33021;
#        &ldquo;screen&rdquo;&#12434;&#25351;&#23450;&#12375;&#12383;&#22580;&#21512;&#20197;&#38477;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12399;NULL&#12434;&#25351;&#23450;&#12375;&#12414;&#12377;
#Hfig:&ldquo;jpg&rdquo;, &ldquo;png&rdquo;&#12398;&#39640;&#12373;&#12434;&#25351;&#23450;
#WFig:&ldquo;jpg&rdquo;, &ldquo;png&rdquo;&#12398;&#24133;&#12434;&#25351;&#23450;
#Hpdf:&ldquo;eps&rdquo;, &ldquo;pdf&rdquo;&#12398;&#39640;&#12373;&#12434;&#25351;&#23450;
#Wpdf:&ldquo;eps&rdquo;, &ldquo;pdf&rdquo;&#12398;&#24133;&#12434;&#25351;&#23450;
######################################

#&#12454;&#12455;&#12502;&#12524;&#12483;&#12488;&#12398;&#30456;&#38306;&#12434;&#34920;&#31034;:WC&#12467;&#12510;&#12531;&#12489;
#&#12497;&#12521;&#12513;&#12540;&#12479;&#12398;&#25351;&#23450;
Wname <- "la8"
J <- 8
#&#12487;&#12540;&#12479;&#12398;&#12503;&#12525;&#12483;&#12488;
compWC <- WC(inputDATA, Wname, J, device = "screen",
                filename = NULL, Hfig = NULL, WFig = NULL, Hpdf = NULL, Wpdf = NULL)

#&#12454;&#12455;&#12502;&#12524;&#12483;&#12488;&#12398;&#30456;&#20114;&#30456;&#38306;&#12434;&#34920;&#31034;:WCC&#12467;&#12510;&#12531;&#12489;
#&#12497;&#12521;&#12513;&#12540;&#12479;&#12398;&#25351;&#23450;
Wname <- "la8"
J <- 8
lmax <- 30
#&#12487;&#12540;&#12479;&#12398;&#12503;&#12525;&#12483;&#12488;
compWCC <- WCC(inputDATA, Wname, J, lmax, device = "screen",
                  filename = NULL, Hfig = NULL, WFig = NULL, Hpdf = NULL, Wpdf = NULL)

#&#12454;&#12455;&#12502;&#12524;&#12483;&#12488;&#12398;&#37325;&#30456;&#38306;&#20418;&#25968;&#12434;&#34920;&#31034;:WMC&#12467;&#12510;&#12531;&#12489;
#&#12497;&#12521;&#12513;&#12540;&#12479;&#12398;&#25351;&#23450;
Wname <- "la8"
J <- 8
#&#12487;&#12540;&#12479;&#12398;&#12503;&#12525;&#12483;&#12488;
compWMC <- WMC(inputDATA, Wname, J, device = "screen",
                  filename = NULL, Hfig = NULL, WFig = NULL, Hpdf = NULL, Wpdf = NULL)

#&#12454;&#12455;&#12502;&#12524;&#12483;&#12488;&#12398;&#30456;&#20114;&#30456;&#38306;&#12392;&#37325;&#30456;&#38306;&#20418;&#25968;&#12434;&#34920;&#31034;:WMCC&#12467;&#12510;&#12531;&#12489;
#&#12497;&#12521;&#12513;&#12540;&#12479;&#12398;&#25351;&#23450;
Wname <- "la8"
J <- 8
lmax <- 30
#&#12487;&#12540;&#12479;&#12398;&#12503;&#12525;&#12483;&#12488;
compWCC <- WMCC(inputDATA, Wname, J, lmax, device = "screen",
                   filename = NULL, Hfig = NULL, WFig = NULL, Hpdf = NULL, Wpdf = NULL)

出力例

・WCコマンド

WC

・WCCコマンド

WCC

・WMCコマンド

WMC

・WMCCコマンド

WMCC

少しでも、あなたの解析が楽になりますように!!

タイトルとURLをコピーしました