カスタム式で非線形モデルを実行するには?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />やあ
私はの例を見てきましたhttps://communities.sas.com/message/134652#134652カスタム式を使用して非線形モデルを設定する方法を理解しようとすること。 残念ながら、この例のスクリプトは、スクリプト ウィンドウに直接貼り付けたときに実行されます。 (データセットを作成してデータテーブルに保存したことに注意してください。これが現在のデータテーブルになります。 次に、モデリングに関係するスクリプトの部分を実行しました。)
スクリプトが parms で始まる行に来ると、エラーが発生します。
parms = rnlin1[/*###*/"Nonlinear Fit ID=1"]["Solution"][Table Box( 2 )] <<結合データ テーブルを作成します。
この問題は、私が持っているより一般的な問題に関連しており、データに適合する独自の式を作成する方法に関するものです。 私は単にそれを行う方法がわかりません。 以前は SAS で proc nlin を使用していましたが、これは簡単で良い例がありましたが、ここでは途方に暮れています。 数式列には何を入力すればよいですか? パラメータはどこにありますか? 別のデータテーブルで? または?
よろしく
ポール
Re: カスタム式で非線形モデルを実行するには?こんにちは、私はまだレポートの結果をデータ テーブルに取得する方法を理解しようとしています。 構文は私を避けます。 たとえば、二変量レポートや非線形レポートの結果にアクセスする一般的な方法を開発したいと考えています。 ディスプレイ ツリーに関するスクリプト ガイドの章を見てきましたが、そこに情報があると思います。 しかし、特定の結果を得るにはどうすればよいでしょうか。
たとえば、my_data に X 変数と Y 変数の列があるこの一般的な状況は次のとおりです。
my_data<
フィットライン、
多項式 (2) を当てはめます。
多項式 (3) を当てはめます。
By (:number_of_instruments));
レポートに埋め込まれた結果にアクセスし、Make CombinedDataTable を実行するにはどうすればよいですか?
よろしく
ポール
Re: カスタム式で非線形モデルを実行するには?最初のコマンドは、レポートへの参照を作成します。 ここで、nlin は非線形プラットフォーム オブジェクトであり、By() 変数があるため、ID の各レベルに 1 つずつ、2 つの「サブレポート」で構成されています。 これらのサブレポートの最初のものは、インデックス [1] によってアドレス指定されます。
2 番目のコマンドは、単にサブレポート内のテーブルへのパスを設定し、レポート内のすべての同様のテーブル ボックスを含む 1 つのデータ テーブルを作成する必要がある「結合されたデータ テーブルを作成する」コマンドをサブレポートに送信します。
Re: カスタム式で非線形モデルを実行するには?MS、ありがとう。 もちろん、この例は機能します。
コードを説明していただけますか:
rnlin1=レポート(nlin[1]);
parms = rnlin1[ . . . .]
しますか? それが parms テーブルを生成することはわかりますが、それ以外の場合、少なくとも私には構文が奇妙に見えます。
よろしく
ポール
Re: カスタム式で非線形モデルを実行するには?パラメータは、左上のドロップダウン メニューで [パラメータ] を選択して、式エディタで定義します。 次に、パラメータと独立変数を使用して、式を通常どおり入力します。
参照する表の例の式は、JSL によって次のように追加できます。
dt =新しいテーブル( 「ノンリンの例」 、
行を追加( 20 ) 、
新しい列( 「ID」 、
数値、
連続、
フォーマット( "一番" 、 1 ) 、
設定値( [ 1 、 1 、 1 、 1 、 1 、 1 、 1 、 1 、 1 、 1 、 2 、 2 、 2 、 2 、 2 、 2 、 2 、 2 、 2 、 2 ] )
) 、
新しい列( "バツ" 、
数値、
連続、
フォーマット( "一番" 、 12 ) 、
設定値( [ 1 、 2 、 3 、 4 、 5 、 6 、 7 、 8 、 9 、 10 、 1 、 2 、 3 、 4 、 5 、 6 、 7 、 8 、 9 、 10 ] )
) 、
新しい列( 「い」 、
数値、
連続、
フォーマット( "一番" 、 12 ) 、
設定値(
[ 14.007192425 、 17.212873694 、 19.206116204 、 22.698900479 、 26.547313123 、 27.964537384 、
32.187880488 、 34.471305291 、 37.982516136 、 39.725363966 、 18.727600524 、 20.500227504 、
18.715068521 、 22.667963466 、 25.505984818 、 25.947839552 、 27.933068812 、 31.390339224 、
32.390010591 、 34.514002505 ]
)
)
) ;
dt <<新しい列( "方式" 、数値、方式(パラメータ( { b0 = 1 、 b1 = 2 } 、 b0 + b1 * :バツ) ) ) ;