MatlabとPythonの中で、どの言語が一般的な統計データ分析に適していますか?アクセシビリティ以外のそれぞれの長所と短所は何ですか?
MatlabとPythonの中で、どの言語が一般的な統計データ分析に適していますか?アクセシビリティ以外のそれぞれの長所と短所は何ですか?
回答:
過去10年以上にわたる頑固なMatlabユーザーとして、Pythonを学ぶことをお勧めします。言語に十分に習熟したら、学習している言語で作業すると、十分な生産性が得られないように見え、デフォルトの最適な言語を使用するようになります。少なくとも、多くの言語に平等に習熟することをお勧めします(Rもお勧めします)。
Matlabの好きなところ:
Matlabについて好きではないこと:
median
関数です。この関数は、データの種類を実行し、中間値を取ります。70年代以来、これは間違ったアルゴリズムでした。-nojvm
すると役立つようです
shuffle
ツールボックス内にある可能性がありますが、標準のmatlabではありません。randperm
ランダムベクトルのソートインデックスを返すビルトインよりも悪化することはほとんどありません。繰り返しますが、これはおそらく間違ったアルゴリズムです(stats.SEでKnuth-Fisher-Yatesシャッフルについて学んだところです)..
randperm
それがの播種によって影響されることでrandn
、おそらくだろう、クヌース・フィッシャーイエーツのmex'edバージョンのに対し、おそらく「内部」関数randnシードにアクセスすることはできません、とシャッフルの純粋な.M版遅すぎる。
プログラミングが統計を満たしている3つの領域(私の頭の一番上)に分けましょう:データ処理、数値ルーチン(最適化など)、統計ライブラリ(モデリングなど)。
最初の最大の違いは、Pythonが汎用プログラミング言語であることです。Matlabは、あなたの世界がFortran数値配列とほぼ同型である限り素晴らしいです。データの変更や関連する問題の処理を開始すると、PythonはMatlabよりも優れています。たとえば、グレッグウィルソンの著書「データクランチング:Java、Pythonなどを使用して日常の問題を解決する」を参照してください。
第二に、Matlabは数値処理で本当に輝いています。多くの研究コミュニティがそれを使用しており、たとえば圧縮センシングの論文に関連するアルゴリズムを探している場合、Matlabで実装を見つける可能性がはるかに高くなります。一方、Matlabは科学計算のPHPの一種であり、太陽の下であらゆるものに機能を持たせるよう努めています。あなたがプログラミング言語のオタクであれば、結果として生じる美学とアーキテクチャは気が遠くなりますが、功利主義的な用語では、それは仕事をやり遂げます。Numpy / Scipyの台頭により、これの多くはあまり重要ではなくなりました。Pythonで利用可能な最適化および機械学習ライブラリを見つける可能性が高いです。Cとのインターフェースはどちらの言語でも簡単です。
モデリングなどの統計ライブラリの可用性については、Rのようなものと比較すると、両方ともやや不足しています(両方とも統計作業を行う人の80%のニーズを満たすと思いますが)。 :統計ワークベンチとしてのPython。Matlab側については、統計ツールボックスがあることは知っていますが、空欄をもっと知識のある人に入力させます(Matlabでの私の経験は、統計に関係のない数値作業に限定されます)。
また、10年以上、Matlabの熱心なユーザーでもあります。それらの年の多くの間、私は自分の仕事のために作成したツールボックスを超えて働く理由がありませんでした。ツールボックス用に多くの関数が作成されましたが、多くの場合、迅速な分析のためのアルゴリズムを作成する必要がありました。これらのアルゴリズムは行列演算を使用することが多いため、Matlabは私の仕事の理想的な候補者でした。Matlabのコードのツールボックスに加えて、私のグループの他のメンバーは、言語間で明確な相互運用性があったため、Javaで広範囲に働きました。長年、Matlabに完全に満足していましたが、約3年前、Matlabからゆっくり移行を開始することを決めました。私の移動の理由は次のとおりです。
-nodesktop
ほとんどの場合、このオプションを使用することは適切ですが、問題があります。これは、Matlabに対する私の多くの不満のほんの一部です。輝かしい属性の1つです。簡単で、コードをすばやく(非常に簡単に)作成するのは非常に簡単です。私はそれを残しました、そして私の探求はClojure-> JavaScript-> Python <-> Juliaに私を導きました。ええ、私はあちこちにいました。