こんにちは、データ テーブルで、PLS 出力ウィンドウから VIP の値と、中央およびスケーリングされたデータの係数の値を抽出したいと思います。
これはJSLを通じて可能ですか?
ありがとう
マッテオ
やあ、
私はこれがあなたが望むことをすると思います。
出力のレポート セクションを見つけるには、右クリックして [編集] → [ツリー構造を表示] を選択します。
この例では、Baltic サンプル テーブルを使用しました。
Edit--Show Tree StructureEdit--Show Tree Structure編集 -- ツリー構造を表示
TableBox(7) VIP tableTableBox(7) VIP tableTableBox(7) VIP テーブル
Tables --> JMP Query Builder を使用してテーブルを結合しました。
これが完全なスクリプトです。
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Baltic.jmp" );
P = Partial Least Squares(
Y( :ls, :ha, :dt ),
X(
:v1,
:v2,
:v3,
:v4,
:v5,
:v6,
:v7,
:v8,
:v9,
:v10,
:v11,
:v12,
:v13,
:v14,
:v15,
:v16,
:v17,
:v18,
:v19,
:v20,
:v21,
:v22,
:v23,
:v24,
:v25,
:v26,
:v27
),
Validation Method( Name( "Leave-One-Out" ), Initial Number of Factors( 15 ) ),
Fit(
Method( NIPALS ),
Number of Factors( 7 ),
Variable Importance Plot( 1 ),
VIP vs Coefficients Plots( 1 )
),
SendToReport(
Dispatch(
{"NIPALS Fit with 7 Factors"},
"Model Coefficients for Centered and Scaled Data",
OutlineBox,
{Close( 0 )}
),
Dispatch(
{"NIPALS Fit with 7 Factors", "Variable Importance Plot"},
"Variable Importance Table",
OutlineBox,
{Close( 0 )}
)
)
);
pls_rpt = p << report; //Get the report
//Find the specific section of report by right-clicking Edit-->show properties
//pls_rpt[Outline Box( 9 )] << Close; //Close the outline box; for example
//pls_rpt[Outline Box( 12 )] << Close; //Close the outline box; not necessary
coef_tbl = pls_rpt[Table Box( 5 )];
VIP_tbl = pls_rpt[Table Box( 7 )];
coef_tbl << Make Into Data Table(Invisible);
tbl_1# = Current Data Table()<< Set Name("Coefficients_Tbl");
VIP_tbl<<MAKE into="" data="https://community.jmp.com/" table=""> "_MEMORY_", "VIP_Tbl" => "_MEMORY_"] ),
QueryName( "SQLQuery2" ),
Select(
Column( "VIP", "t1", Numeric Format( "Fixed Dec", "4", "NO", "" ) ),
Column( "Coefficient", "t2" ),
Column( "ls", "t2", Numeric Format( "Fixed Dec", "4", "NO", "" ) ),
Column( "ha", "t2", Numeric Format( "Fixed Dec", "4", "NO", "" ) ),
Column( "dt", "t2", Numeric Format( "Fixed Dec", "4", "NO", "" ) )
),
From(
Table( "VIP_Tbl", Alias( "t1" ) ),
Table(
"Coefficients_Tbl",
Alias( "t2" ),
Join(
Type( Left Outer ),
EQ( Column( "X", "t1" ), Column( "Coefficient", "t2" ) )
)
)
)
) << Run;
Close( tbl_1#, NoSave );
Close( tbl_2#, NoSave );</MAKE>
乾杯、
スタン
実際、私は PLS プラットフォームで VIF ではなく VIP を探していました。 VIP と係数の両方を含むテーブルを見つけることができませんでした。
いずれにせよ、私は回避策を考え出したと思います。 係数と VIP は 2 つの別々のテーブル ボックスにあるので、別々に抽出します。
ありがとう
マッテオ
こんにちはマイク、ありがとう。 ツリー構造では、兄弟のアウトラインボックスで、VIP ではなく係数のみのテーブルボックスを特定できました。
データを抽出したいフレームボックスに関連付けられたテーブルが見つかりません (VIP と係数)。
ありがとう
マッテオ
こんにちはマイク、ありがとう。 ツリー構造では、係数を含むテーブルボックスを特定できましたが、VIP は特定できませんでした。VIP 対係数を含むフレームボックスの背後にあるテーブルにアクセスできないようです。