この最小値(図に示すように)を見つけて、その左側のデータを除外する方法はありますか。

私はこれに答えるのに適した人間ではありませんが、どのような種類の答えが当てはまるかを理解するには、おそらくもう少し詳しい情報が必要です。
データは本当に滑らかですか? それともデータにノイズが多いのでしょうか?
前の行より大きい最初の行だけが必要ですか?
データを生成する方程式はありますか?
こんにちは、クレイジさん
ご返信ありがとうございます。 このグラフの X 列と Y 列を含むデータ テーブル (Minima_Jmp) を添付しました。
以下は私の返答です。
1]データは本当に滑らかですか? それともデータにノイズが多いのでしょうか?
回答 : データにはノイズが含まれています - 以下の 2 つのグラフに示すように
2] 前の行より大きい最初の行だけが必要ですか?
回答: この質問は私にはあまり明確ではありません。最初の最小点を見つけて、その左側にあるすべてのデータを除外します。
3] データを生成する方程式はありますか?
そして、「いいえ、このデータには方程式はありません。曲線を表す方程式を当てはめることはできるかもしれませんが、それは単なる近似にすぎません」


あなたの元の質問は、ノイズの多いデータに適合するスプラインと、そのスプラインの最初の最小値を見つけることに関するもののようです。 サンプルデータの場合、これは機能するようです。
dt = Open( "Z:/Minima_JMP.jmp" );
dt << sort( by( x ), replacetable( 1 ) );
obj = dt << Bivariate(
Y( :Y ),
X( :X ),
Fit Spline( 26.8534445, {Line Color( {66, 112, 221} )} ),
Automatic Recalc( 1 ),
SendToReport( Dispatch( {}, "Bivar Plot", FrameBox, {Frame Size( 1653, 240 )} ) )
);
obj << (Curve["Smoothing Spline Fit, lambda=26.8534445"] << Save Predicteds);
For( irow = 2, irow < N Rows( dt ), irow += 1,
If( dt:Spline Predictor for Y[irow] > dt:Spline Predictor for Y[irow - 1],
Write( Eval Insert( "the inflection upward trend begins around row ^irow^" ) );
// choose one of these...
dt << selectrows( 1 :: irow );
// dt<<DELETEROWS>= N Rows( dt ),
Write( "not found?" )
);</DELETEROWS>
The selected points in the graph are also selected rows in the data table; press delete in the table. Or, choose the <<deleterows statement.The selected points in the graph are also selected rows in the data table; press delete in the table. Or, choose the <<deleterows statement.The selected points in the graph are also selected rows in the data table; press delete in the table. Or, choose the <<deleterows statement.The selected points in the graph are also selected rows in the data table; press delete in the table. Or, choose the <<deleterows statement.The selected points in the graph are also selected rows in the data table; press delete in the table. Or, choose the <<deleterows statement.The selected points in the graph are also selected rows in the data table; press delete in the table. Or, choose the <<deleterows statement.The selected points in the graph are also selected rows in the data table; press delete in the table. Or, choose the <<deleterows statement.The selected points in the graph are also selected rows in the data table; press delete in the table. Or, choose the <<deleterows statement.The selected points in the graph are also selected rows in the data table; press delete in the table. Or, choose the <<deleterows statement.The selected points in the graph are also selected rows in the data table; press delete in the table. Or, choose the <<deleterows statement.The selected points in the graph are also selected rows in the data table; press delete in the table. Or, choose the <<deleterows statement.The selected points in the graph are also selected rows in the data table; press delete in the table. Or, choose the <<deleterows statement.グラフ内で選択された点は、データ テーブル内で選択された行でもあります。表内で削除を押します。 または、<
ログ内:変曲の上昇傾向は行 231 あたりから始まります
これは、テーブルを X の昇順で並べ替えた後です。
スプラインの張力 (lambda=...) を調整することで、異なる答えが得られます。 スクリプトを再実行する前に、予測された列を必ず削除するか、保存せずにテーブルを閉じてください。
データの実際の形状が例と一致しない場合、この考えは崩れます。最初からすでに上昇傾向にある場合など。
これは、必要なことを行うための正しい方法ではない可能性があります。他の人にアイデアを追加してもらうためには、データがどのようなプロセスから来たのか、なぜデータのこの点を見つけたいのかを説明する必要があると思います。
こんにちは、クレイジさん
これは素晴らしいですね。 他のデータテーブルでも試して確認してみます。
類似したデータの複数のデータテーブルに対してこの分析を自動化する必要がある場合、適切なラムダ値を見つける方法はありますか?
ありがとう。
わからない。 特にスプラインに関しては、これは科学でもあり、芸術でもあると思います。 結果を視覚的に検査せずにコードを自動化しようとする場合は、コードに健全性チェックを追加するとよいでしょう。 プロセスが最初に余分な振動を生成する可能性がある場合、これは明らかに失敗します。 または、データが多いか少ないか、範囲全体で密度や疎さが異なるなど、結果が変わる可能性があります。
プロセスや業界に固有の他のモデルを提案する人もいます。 データに関するさらなる情報が必要になるでしょう。