問題タブ [apache-commons-math]
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.
java - Scala で EnumeratedDistribution のインスタンスを構築する
Scalaでorg.apache.commons.math3.distribution.EnumeratedDistributionの新しいインスタンスを作成します。私ができる最善のことは、次のように動作するはずです...
...これは REPL の次のエラーで失敗します...
私は抽象的であるという印象を受けていたので、代わりにjava.util.List
次のようなものを使用する必要がありますArrayList
. これは些細なことだと確信しています。考え?
java - `org.apache.commons.math3.distribution.BinomialDistribution(1,p)` には多くのパフォーマンス オーバーヘッドが伴いますか?
ベルヌーイ分布は、試行回数が 1 回のみの二項分布と同等です。つまりBinomialDistribution(1,p)
、Apache Commons Math ライブラリからのものです。ベルヌーイ分布は、明らかに一般的な二項分布よりもはるかに単純なものです。
BernoulliDistribution(p)
パフォーマンスが重要な場合、をサブクラス化して自分でロールする必要がありますかAbstractIntegerDistribution
、それとも を使用するだけでほぼ同じパフォーマンスが得られBinomialDistribution(1,p)
ますか?
java - Java での補間と導関数
私は、生データとその導関数から補間を計算するプロジェクト魔女を作ろうとしています。次のような 2 つの配列があります。
次の配列を記述する関数が必要なので、F(A[i]) = B[i] である関数を記述する多項式を補間するために、apache-common-math ライブラリを使用しています。その後、極値(最大/最小)を見つけるために、この関数の導関数を計算したいと思います。
どういうわけか、派生部分に問題があります。
現在使用中:
これで、前の配列を表す関数である polynom ができました。その導関数をどのように計算すればよいですか..?
ありがとう。
java - スチューデント t 分布のさまざまな値
でスチューデント t 分布を実行するとR
、次のようになります。
Apache Commons Math
ライブラリと同じように実行すると、次のようになります。
価値観が全然違う。これは予想される動作ですか (または) 何か不足していますか?
編集:
使用するcumulativeProbability
と、次の出力が得られましたが、これも R 値とは大きく異なります。
java - Apache DBSCANClusterer は常にクラスター内の 1 つのポイントを返します
apache.commons.math3.ml.clustering パッケージの DBSCANClusterer を使用しようとしていますが、成功しません。私はApache Common Math 3.4.1を使用しています
DBSCANClusterer.cluster() メソッドを実行すると、常にポイントのリストの最初のポイントに対応する 1 つのポイントを持つ 1 つのクラスターが取得されます。
私の出力は常に [1009.0, 1019.0] です。ここで何が間違っていますか?
java - 離散データセットの正規分布仮説の確認
私は統計トピックの初心者なので、ここで見逃しているのは明らかなことかもしれません。
基本的に、Apache Commons Mathの統計テストdouble
に基づいて、整数値の配列 (ヒストグラム) が正規分布(平均と標準偏差が指定されている) に適合しているかどうかを調べたいと思います。
私がすでに理解していることは、一般的な方法はp 値を計算し、帰無仮説が真かどうかを判断することです。
私の最初の「赤ちゃん」ステップは、一元配置分散分析テストを使用して、2 つの配列が同じ分布から来ているかどうかを確認することです (2 番目の部分は、ドキュメントの例から取得されます)。
結果は次のとおりです。
有意水準が 0.05 であると仮定すると、仮説は真である (つまり、両方の配列が同じ分布からのものである) と推測できますp > 0.05
。
では、コルモゴロフ・スミルノフ検定を見てみましょう。ドキュメントのサンプルコードは、オブジェクトに対して単一の配列をチェックする方法を示していNormalDistribution
ます (それが私の目標です)。ただし、2 つの配列をチェックすることもできます。どちらの場合も適切な結果が得られません。たとえば、上記の例を KS に適用してみましょう。
結果は次のとおりです。
私の質問は、なぜ本質的に同じデータの p 値が非常に小さいのですか? このようなデータにはこのテストは適していないということですか。
するべきか:
- (つまり、指定された平均値と標準偏差を使用して)の参照配列を生成
NormalDistribution
し、一元配置分散分析テスト (またはその他) を使用して配列と比較します。 - どういうわけか私のデータを適応させてから、KSを使用して単一の配列を
NormalDistribution
オブジェクトと比較します
?
java - Apache Commons Math のプログラム フロー中に配布パラメーターを変更する
コードで乱数を生成する必要がありますが、現在のシナリオに基づいて Distribution のパラメーターを変更したいと考えています。アプリケーションは、シングルまたはマルチスレッド アプリケーションとして実行できます。
私の質問はRandomGenerator
、クラスのコンストラクターでオブジェクトを初期化してから、そのRandomGenerator
オブジェクトを使用してNormalDistribution
、BetaDistribution
またはその他のオブジェクトをAbstractRealDistribution
繰り返し初期化するか、パラメーターを更新する必要がある後に配布オブジェクトを初期化する必要があるかということです。
適切な乱数の生成と最適性の観点から、どちらがより良いオプションですか?
ケース 1:
ケース 2:
java - 密度到達点を抽出する DBSCAN ライブラリ
DBSCAN ライブラリを使用して、一連のデータからクラスターを抽出しています。これまでのところ、Apache Common Math および WEKA ライブラリを使用して DBSCAN をテストしてきました。(私の質問は、DBSCAN の実装で利用できるライブラリについてではありません)
これまでのところ、DBSCAN には (ウィキペディアによると) 3 種類のポイントがあることを理解しました: コア ポイント、(密度) 到達可能ポイント、外れ値です。私の問題は、クラスターを抽出する必要があり、それがフロンティアポイントまたはその密度到達可能ポイントであることです。
クラスターごとに密度到達可能ポイントを抽出できる DBSCAN ライブラリを知っていますか?