問題タブ [sequence-analysis]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 巨大な行列から可能な限り少ない行 NA で可能な限り最大の列シーケンスを取得するにはどうすればよいですか?
データフレームから列を選択して、結果の連続した列シーケンスができるだけ長くなるようにしますが、後で削除する必要があるため、NA を持つ行の数はできるだけ少なくします。
(私がこれをやりたい理由は、(遷移TraMineR::seqsubm()
確率によって) 遷移コストのマトリックスを自動的に取得するために実行し、後でそれを実行したいcluster::agnes()
からです。意味深。)TraMineR::seqsubm()
NA
cluster::agnes()
NA
その目的のために、可能なすべてのパワーサブセットを原理的に計算し、s をチェックする作業関数NA
を既に作成しました。d
これは、10x5 行列を表す次のおもちゃのデータでうまく機能します。
ここでの問題は、 34235 x 17 のマトリックスを表す調査データにアルゴリズムを実際に適用したいということです!
私のコードは Code Review でレビューされましたが、まだ実際のデータに適用できません。
このアプローチでは膨大な計算になることは承知しています。(おそらく、スーパーコンピューター以外には大きすぎる?!)
より適切なアプローチを知っている人はいますか?
Code Review の@minem によって既に強化された関数を紹介します。
収量:
この場合、またはそれらが連続的であり、適切な数の観測値が得られるためX1, X2, X3, X4
、X1, X2, X3
またはを選択します。X2, X3, X4
期待される出力:
したがって、おもちゃのデータd
の場合、予想される出力は次のようになります。
そして最後に、関数は巨大な行列d.huge
で適切に実行され、現時点でエラーが発生するはずです:
玩具データd
:
玩具データd.huge
:
付録(コメントの最新の回答を参照):
r - TraMineR::seqdist で「tpow」および「expcost」引数を設定する
私は実際に、入院中の入院患者のパスウェイに取り組んでいます。これらの経路は状態シーケンス (各時間単位での現在の医療単位) として表され、クラスタリング アルゴリズムを通じて典型的な経路を見つけようとしています。
メソッドでseqdist
R パッケージの関数を使用して距離行列を作成します。R のドキュメントと関連記事は既に読みましたが、引数との設定方法がわかりません。TraMineR
"OMspell"
tpow
expcost
時間単位は 1 時間であるため、期間のわずかな違いがクラスタリングの結果に大きな影響を与えることは望ましくありません (たとえば、医療ユニットの移動とは異なります)。しかし、期間にも影響を与えたくありません...
また、それらの値を選択する適切な方法はありますか? それとも、適切な構成を模索し続けますか? (結果のクラスターに関する医学的意見に加えて、ダン、デイビス-ボールディン、およびシルエットの基準を使用して、階層的クラスター化の結果を比較しています)
r - シーケンス解析クラスタリング CHI2 EUCLID エラー
私はシーケンス分析にまったく慣れておらず、状態の持続時間に焦点を当てて、集約されたシーケンスマトリックスでクラスターを特定しようとしています。ただし、method='CHI2'/'EUCLID' を step=1 と組み合わせて使用すると (そうでない場合)、次のエラーが発生します。
if (SCres > currentSCres) { のエラー: TRUE/FALSE が必要な場所に値がありません
理由は何ですか?
シーケンス オブジェクトと距離行列がどのように見えるか コード:
コード: