
No.2ベストアンサー
- 回答日時:
>f'(x)=f(x+1)-f(x)<0.0001, f''(x)=f'(x+1)-f'(x)<0 ....
基本はこれでOKなので、「f(x)が滑らかでない場合」に引っかかりそうなケースを考えてみましょう。
[誤検出しそうな例]
(1) サンプリングしたデータでは、ピークでの増分が 0.0001 未満とは限らない。(つまり、とんがり気味のピークは検出できない)
(2) 真のピークではなく、裾野の細かいうねりまで検出するおそれがある。
[対策例]
(1) 単純に、f'(x)が正から負へ極性反転したらピークとみなす。
(2) #1 さんの「平滑化」処理を適用する。
(2)' あるいは、f'(x)が正から負へ極性反転したピークの高さに閾値を設定しておく。(つまり、細かなピークは無視する)
ピーク検出には、適用分野に応じたノウハウが多数あるようです。
この回答への補足
(1)f'(x)が正から負へ極性反転したらピーク←これはabs(f'(x))<0.0001の条件を使わずにf''(x)<0だけを使うという条件と等価でしょうか?
お礼の内容訂正させて頂きます。よく考えてみると等価のはずがありません。傾きの変化が小さくなっただけでもf''(x)<0ですから。
「f'(x+1) < 0 AND f'(x) > 0」の条件になったときのxをピークとみなすということですね!
回答ありがとうございます。私の質問内容に誤りがありましたので訂正させて頂きます。正しくはabs(f'(x))=abs(f(x+1)-f(x))<0.0001です。
(1)f'(x)が正から負へ極性反転したらピーク←これはabs(f'(x))<0.0001の条件を使わずにf''(x)<0だけを使うという条件と等価でしょうか?
(2)'閾値をピークの高さに設定しておく←これは有効そうですね。データの性質を観測して、f(x)を一番最初に極性反転した位置の何%かに設定しておいて、あとはこの設定値を使うみたいな感じにすればできそうですね。
No.3
- 回答日時:
私が学生時代のとき(ずいぶん前)、分光スペクトルの1階微分(オージェスペクトル)や2階微分スペクトル(ピークが強調される)を取るためにこの手法を使いました。
カーブフィッティングするにはピーク位置を知る必要があるのでこの方法が有用です(最近は測定装置にソフトが組み込まれているので実際に計算することはないでしょうが)。これは微分係数を求めるものなので、ピーク位置の検出では、微分値=0となる x を求めるアルゴリズムが別途必要です。>これをそのまま使えばノイズが取れるのでしょうか?
はい。Excelでちょっと実験してみましたが、普通の数値微分ではむちゃくちゃになるノイズ重畳データでも、割ときれいな微分データが得られました。これは Savitsky-Golay filter あるいは Savitsky-Golay smoothing と呼ばれるものです。
>係数やhという値がありますが、どういう原理でこの値が出てきたのでしょうか?
h は x の刻み (x[i+1]-x[i])ですが、詳しくは参考資料 [1],[2] を見てください(私はちゃんと理解していませんので)。
データ点 x[i] を何点とるかで、いろいろなパターンがあります。[3] は微分でなく、平滑化の係数です。微分処理前や微分後に使うと、ノイズが取れると思います。
>一つ思ったのが、この方法はノイズの周波数を自在にこちらで決めて係数を設定したりできるのでしょうか?
周波数ドメインの処理はデジタルフィルターを使うのがいいのではないでしょうか。
[1] Savitzky-Golay アルゴリズム http://www.hulinks.co.jp/support/flexpro/v7/data …
[2] 1階微分の5点以降の係数の求め方(ANo.1の回答) http://okwave.jp/qa1371554.html
[3] 平滑化の係数表(PDF 79ページ:5~25点) http://www.biochem.northwestern.edu/Keck/PDF%20d …
回答ありがとうございます。
>はい。Excelでちょっと実験してみましたが、普通の数値微分ではむちゃくちゃになるノイズ重畳データでも、割ときれいな微分データが得ら
>れました。これはSavitsky-Golay filterあるいはSavitsky-Golay smoothingと呼ばれるものです。
こちらでも試してみましたが、実際にきれいな微分データが得られました。一方、N点の近似微分公式では、局所的な微分データが出ているようで、元データを大局的に見たときの綺麗な微分データは得られないようでした。Savitsky-Golayのアルゴリズムがかなり有効であることが分かりました。
No.1
- 回答日時:
平滑化数値微分というのがあります[1]。
これでもノイズが取れないときは、この数値微分の前に、生データの移動平均処理を行って、ある程度データを滑らかにしてやればいいでしょう。そのとき、移動平均のデータ数を変えて最適な値を探すのが良い思います。[1] PDFファイルの52ページ http://teils.eng.shizuoka.ac.jp/di2.pdf
回答ありがとうございます。平滑化数値微分のページを拝見させて頂きました。これをそのまま使えばノイズが取れるのでしょうか?係数やhという値がありますが、どういう原理でこの値が出てきたのでしょうか?一つ思ったのが、この方法はノイズの周波数を自在にこちらで決めて係数を設定したりできるのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 ①lim x→∞で1/xだった場合は発散しないため限りなく0に近い解が求められるのでしょうか? 例え 7 2022/05/16 19:27
- 数学 原始関数の存在性の証明について 数学科の3回生です。院試の勉強でつまづいたので助けてほしいです。 R 6 2022/11/13 19:19
- 数学 代数学 環 1 2022/10/12 17:29
- 数学 f(x) = 2(x^2+6x+15)(5/6)^x-30 としたとき、 f(x)が最大となる正の整 2 2023/02/11 11:38
- 数学 ほんとに何度もすみません。 どうか相手にしてください。 逆関数というのは、「出力と入力の関係式を逆に 16 2023/08/25 20:45
- 数学 回答者どもがなかなか答えられないようなので、考えてみました。 ∫[0,π/2]log(sinx)/( 4 2022/08/31 16:30
- 数学 微分の意味ついて質問が有ります 4 2023/04/05 23:17
- 数学 連続であることを示すときの最後のεについて 6 2023/04/14 23:00
- 数学 2013 慶応(らしいです) 1 2022/06/14 21:15
- 工学 流体の数値計算の分離解法について 移流方程式∂f/∂t+∂f/∂x=Gを分離解法で解くときに、便宜上 3 2023/08/12 13:09
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
サイン二乗xの微分を教えてく...
-
sinx^2の微分って2xcosx^2であ...
-
授業で「yをxで微分する」とい...
-
2階微分d^2y/dx^2を詳しく教え...
-
三角関数の微分の問題なんです...
-
log(1+x)の微分
-
y=e^x^x 微分 問題
-
-1/(1-x)の微分を教えて下さい
-
微分可能性、微分法
-
分母が文字の分数を微分する方...
-
3階微分って何がわかるの??
-
y=logxA(Aは定数)をxで微分
-
虚数の入った積分
-
数学の質問です。 (x+1)のn...
-
f(x)=0はxで微分可能か
-
y=1/(2x-1)を微分する方法につ...
-
y^2をxについて微分してください
-
関数1/(1+√x)のx=1における微分...
-
これらの数式を声に出して読む...
-
【数学】積分したあとに微分す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
サイン二乗xの微分を教えてく...
-
授業で「yをxで微分する」とい...
-
2階微分d^2y/dx^2を詳しく教え...
-
三角関数の微分の問題なんです...
-
これらの数式を声に出して読む...
-
3階微分って何がわかるの??
-
-1/(1-x)の微分を教えて下さい
-
log(1+x)の微分
-
分母が文字の分数を微分する方...
-
sinx^2の微分って2xcosx^2であ...
-
【数学】積分したあとに微分す...
-
lim[x→0](e^x - e^-x)/x
-
y^2をxについて微分してください
-
d^2y/dx^2は何と読めばいいので...
-
指数関数の引数が、なぜ無次元...
-
微分積分を理解できない人って...
-
z = x^y の偏微分
-
y=e^x^x 微分 問題
-
y=1-sinxを微分せよ
-
二回微分して 上に凸下に凸 が...
おすすめ情報