相関を調べたい

3 Ansichten (letzte 30 Tage)
Sato Ren
Sato Ren am 4 Nov. 2021
Kommentiert: Sato Ren am 26 Nov. 2021
今、研究でデータの相関を調べています。
自分が使っている関数は”corrcoef”です。しかしながら、先行研究では、wavelet解析を行ってるため、waveletを使用して、相関を調べたいです。
調べたところ、”corrcoef”は短い時間においての相関を調べるにはあまり向いていないと記載されていました。時間は、短い時間において、相関を見るにはどのようにするのが最も良い選択でしょうか。
waveletで、相関を見ることは可能なのか、他の関数だと何がおすすめなのか、教えてほしいです。

Akzeptierte Antwort

Shunichi Kusano
Shunichi Kusano am 5 Nov. 2021
waveletを使った相関ということですので、こちらの例が当てはまるかと思います。日本語訳がわかりにくいですがコヒーレンス=相関と思ってもらって大丈夫です。
wavelet解析では局所的な周波数応答を捉えることが可能になるので、短い時間での相関を見るのにも適しています。
  5 Kommentare
Shunichi Kusano
Shunichi Kusano am 17 Nov. 2021
すみません、ライセンスの問題でAbstractくらいしか表示できませんでした。ライセンスの問題なので当該図のキャプチャを添付してもらうのもあまり良くないと思います。類似の図でWebで誰でも見れるものをみつけて貼付いただくか、どのような図なのか(横軸が何で縦軸が何、とか)を説明していただければ、何か言えることもあるかもしれませんが…。
Sato Ren
Sato Ren am 17 Nov. 2021
パソコンでgoogle chromeを用いて見ると、閲覧することが可能かと思います。無料でオープンアクセスできるものなので。
縦軸はcoherence、横軸は時間で、グラフとなっております。各時間でコヒーレンスがどれくらいになるかわかります。また下記のURLでいう図2です。
くさの様が先ほど添付してくださったwavelet coherenceの図から、上記のグラフにしたいと考えております。

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Shunichi Kusano
Shunichi Kusano am 17 Nov. 2021
時間ごとのコヒーレンスをプロットするということなので先のコメントで述べた通りかと思います。下記が例となります。
t = 0:0.001:2;
x = cos(2*pi*10*t).*(t>=0.5 & t<1.1)+...
cos(2*pi*50*t).*(t>= 0.2 & t< 1.4)+0.25*randn(size(t));
y = sin(2*pi*10*t).*(t>=0.6 & t<1.2)+...
sin(2*pi*50*t).*(t>= 0.4 & t<1.6)+ 0.35*randn(size(t));
wcoh = wcoherence(x,y,1000);
c = max(wcoh,[],1); % 時間ごとの最大の相関値
plot(t,c);
信頼区間みたいなものがどのように出ているかわかりかねますが、表示であればarea関数が使えそうです。
https://www.mathworks.com/help/matlab/ref/area.html
  1 Kommentar
Sato Ren
Sato Ren am 26 Nov. 2021
ご回答ありがとうございます。
wavelet coherenceの図での→の意味は何を示しているんでしょうか。
下記のURLでは、位相の向きと書かれていますが、具体的に教えていただくことは可能でしょうか。

Melden Sie sich an, um zu kommentieren.

Tags

Produkte


Version

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!