• ベストアンサー

隣接平均と移動平均

計測機器のデータ解析を行っています。 あるデータ解析に隣接平均を行ったとの記述がありました。データにスムージングするために、隣接平均は行ったようです。 そこで質問なのですが、隣接平均とは具体的にどのようなことを行ったのでしょうか?移動平均を行ったのでしょうか? 3点移動平均や5点移動平均ならば定義式は分かるのですが、隣接平均の定義がいまいちわかりません。 どなたかご存知の方がおられましたら、お教えください。 よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

移動平均は、現在(対象データ)からn件分の過去のデータの平均を取るので元の変動が基波形に比べて遅れます。 隣接平均は、現在(対象データ)の前後n件分のデータの平均を取るので元の変動にわりと一致します。 元との比較で考えれば隣接平均の方が有利ですが、前後の前は未来のデーターですので例えばシリアルデーターのリアルタイム処理などには不向きだと思います。 外してたらすみません。

webster
質問者

お礼

ご回答ありがとうございます。 ネットでいろいろ調べましたが、miran 2006さんが教えてくださったことで合ってるみたいです。 非常に勉強になりました。

関連するQ&A

  • 移動平均値を逆算する計算式

    株をやってます。 移動平均値をクロスする値を逆算したいのですが、 たとえば 7日間の移動平均値を毎日の終値で出していたとする。 実線(ローソク足)が明日いくらだったら、当日を含めた7日間の移動平均値と同じ値になるのか? 移動平均値と、実線の価格との乖離が0になる値を出すのは分かりますが、実際に関数を使って出そうとすると難しいです。 平均値と乖離を並べて、具体的に値を入れてみて0になったら、あ、これがその値か、と分かるのですが・・・逆算式って難しい。 よろしくおねがいします。 ※1 実際の取引で損失が出ても責任はありません。 ※2 利益が出ても連絡はいたしませんw。

  • 移動平均とローパスフィルタについて(matlab)

    入力信号10Hz(サンプリング周波数1000Hz)に対して、 1周期分(100点)のデータを取り出して平均値を算出し、1サンプル移動して同様に100点のデータの平均値を算出する、というような移動平均のプログラムを書きました(下に載せました)。 この移動平均プログラムと同様の結果が得られるようなローパスフィルタを設計したいのですが、方法がよくわかりません。 ご存じの方、教えて頂けると幸いです。 宜しくお願いします。 以下、移動平均プログラムになります。 clear all fs = 1000; % サンプリング周波数 t = 1/fs:1/fs:3; f = 10; % 入力信号の周波数 y = sin(2*pi*f*t); % 入力信号の生成 M = round(fs/f); % 一周期分のサンプル数(10Hzの場合、100点) for i = 1:1:length(y)-M+1 y2(i) = mean(y(i:1:i-1+M)); % 移動平均 end plot(t(M:end),y2);

  • 移動平均値のSQL

    お世話になります。 株価の移動平均値、例えば5日の移動平均値をSQL文で求めたいと思っています。 +----------+-------+ | ymd | value | +----------+-------+ | 19960401 | 21100 | | 19960402 | 21200 | | 19960403 | 21200 | | 19960404 | 21800 | | 19960405 | 21900 | | 19960408 | 21500 | | 19960409 | 22000 |  ・・・ | 20070510 | 2570 | | 20070511 | 2545 | | 20070514 | 2530 | | 20070515 | 2555 | | 20070516 | 2545 | | 20070517 | 2450 | +----------+--------+ 例えば、1996/4/5時点の5日移動平均値は、 | 19960401 | 21100 | | 19960402 | 21200 | | 19960403 | 21200 | | 19960404 | 21800 | | 19960405 | 21900 | (21100+21200+21200+21800+21900)/5=21440 となります。 5日毎にgroup byする方法を見つけるかと考えましたが、今のところ見つけられません。 銘柄毎に2000件データ×4000銘柄分あります。 今回は1銘柄のみの考慮、つまり、日付と株価のみでの考慮をお願いしたいと思っております。 下記にありますサンプルのデータでありますと、19960405,19960408,19960409の3日に関して移動平均値が出る結果となります。 よろしくお願いいたします。 MySQLバージョン 5.0.37 Windows2000 SP4 サンプル create table t_kabuka (ymd int(8), value int(6),primary key(ymd)); insert into t_kabuka values (19960401,21100), (19960402,21200), (19960403,21200), (19960404,21800), (19960405,21900), (19960408,21500), (19960409,22000);

    • ベストアンサー
    • MySQL
  • 移動平均の重み関数について

    ある点f[n]を中心に±2点の計5点の移動平均をあるデジタル信号について施すとします。nはデータの番号とします。 g[n]=Σh[i]f[n-i]という畳み込み計算で、上記の計算を行うとき、 h[i]はどの様に表せますか? 私も自分自身で考えましたがしっくりこなくて…。以下に記しておきます。 Nを前後何点取るか(5点平均ならN=2です)と設定し、 h[i]=1/(2N+1)。ただし、i=-(N-1)/2からi=(N-1)/2まで変化させるとしました。 h[i]を表したのですが、しっくりこなくて。 宜しくお願いします。

  • 分散分析の平均値と実際の平均値のズレ

    統計初心者です。 現在SPSSを用いてデータの解析を行っており、対応のある3要因分散分析(被験者間要因:1、被験者内要因:2)を反復測定→多重比較(Bonferroni)にて行いました。 その結果、それなりの結果が得られたのですが、気にかかる点があります。 SPSSにて反復測定→多重比較を行った結果として表示された平均値と、実際のデータをエクセル上で平均して得られた平均値とに、微妙に違い(値のズレ)があります。 分散分析を行っている以上、実際の生データの平均値との間にズレが生じてしまうのは当然なのでしょうか?それとも、このズレは解析において何か致命的なミス(データの読み込み失敗、解析方法や条件設定の選択間違い)によって生じてしまった「誤った値」なのでしょうか? また、もし今回分散分析によって得られた平均値が妥当であるならば、論文等にグラフを書く際には、分散分析の結果得られた平均値と生データの平均値のどちらを用いるべきなのでしょうか? 拙い説明で申し訳ありませんが、ご教授頂ければ幸いと存じます。 宜しくお願い申し上げます。

  • エクセルを用いた移動平均法による高周波除去について

    以下のエクセルデータから得た信号波形から、移動平均法を用いて高周波成分(3kHz以上)を除去した波形を得たいのですが、具体的にどのようにすればいいのか全くわかりません。 VBAを用いたプログラム等でも構いませんので、高周波を除去するやり方をどなたか優しく教えて頂けると嬉しいです。 よろしくお願いします。

  • エクセルの移動平均グラフが表示されない

    Excel2003を使用しています。グラフの作成の際に移動平均のグラフを付けようと思い、 「グラフ」→「近似曲線の追加」 で移動平均のグラフを挿入しようと試みましたが、なぜか表示されません。 ただ、凡例には表示されるのです。実際のグラフのみが表示されません。 原因をいろいろ考えてみたのですが、どうも第2軸のグラフの移動平均のみが 作成出来ないような気がしています。 サンプルとして画像を添付しました(読めるかなあ・・・) サンプルでは、「売上価格」と「売上件数」という2種類のデータがあり、 売上価格を第1軸に、売上件数を第2軸にしてグラフ化しました。 その後、2つとも移動平均のグラフを付けようとしました。 第1軸の売上価格は移動平均が表示されましたが、第2軸の売上件数は表示されませんでした。 という感じです。どなたか方法をご存知のかた、教えてください。 また、無理であるならば、理由を教えてください。 以上、よろしくお願いいたします。

  • VBA 配列に格納した値の平均のやり方についてお教え願います

    いつもお世話になります。 配列に格納した値の平均のやり方についてお教え願います。 現在、実験測定データの移動平均(下記avg(x,1))を計算をしたいのですが、 配列に格納した値の平均が思うように計算できず困っております。 a =Range("A1:A20000")‘測定データを配列に格納 avg(x, 1) = Application.WorksheetFunction.average(a(x, 1), a(x + 5, 1)) という記述方法ではa(x, 1)とa(x + 5, 1)の2点の平均になってしまいます。 これをa(x, 1), a(x+1, 1),a(x+2, 1),a(x+3, 1) ,a(x+4, 1) ,a(x+5, 1)の5点の平均が計算できる記述方法はないでしょうか? ○実際の式は下のようなもので移動平均の平均区間yも変化します。 Dim avg(1 To 20000, 1 To 1) -前式省略- For y = 1 To 20000 -途中式省略- a =Range("A1:A20000")‘測定データを配列に格納 For x = 1 To 20000 avg(x, 1) = Application.WorksheetFunction.average(a(x, 1), a(x + y, 1)) ‘↑これでは2点の平均値になってしまいます。 Next -途中式省略- Next -後式省略- ○Range(“B1”)=AVERAGE(A1:OFFSET(A1,y-1,0)) Range(“B2”)=AVERAGE(A2:OFFSET(A2,y-1,0))  ・・・ というふうにセルに一つずつaverage関数を入力すれば移動平均も計算できるのですが、繰り返し回数が多いため、計算に非常に時間がかかります。そのため上記配列を利用したもので計算したいと思います。 ○ ネットでヒントを見つけたのですが↓ Set ran = Range(Range("A1"), Range("A1").End(xlDown)) Range("C4").Value = WorksheetFunction.average(ran) こう記述すればある範囲内の平均を求められるようですが、 Set ran= 以降の部分をRange(***)ではなく、 Set ran = (a(x, 1), a(x + y, 1)) ←a(x, 1)~a(x + y, 1)まで、というイメージですが・・・ というふうに範囲を配列で表すやり方を教えて頂けるだけでも結構です。 excel2003です。 以上、よろしくお教え願います。

  • ダウ平均の時系列データ

    普段、ヤフーの時系列データを使用してデータ解析などを行ったりしているのですが、最近ダウ平均の時系列データが必要になりました。 そこで質問なんですが、ダウ平均の時系列データが取れるサイトをご存じないでしょうか? もし、ご存じありましたら、HPご紹介をお願いできたらと思います。 よろしくお願いします。

  • エクセルで平均値を出すとき

    エクセルで平均を出す式を書きたいのですが、 ・平均を出したい対象データのセルが飛び飛びになっている。 ・1年(12ヶ月)の数値を入れるので、データの入ってない月の 空白セルは計算しない。 という設定にしたいのです。 AVARAGE等を使うと、飛び飛びのセルでなくセル範囲を選択しないと いけないように思うのですが、 上記2点に当てはまる方法を教えていただけないでしょうか。