例えば3×3の行列を考えます
このとき次元数の考え方として,3×3なので3次元という風に言ったりすると思うのですが
ndimを用いると2次元になります
次元の考え方のずれがあると思うのですが
これを説明していただけるとありがたいです
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答1件
0
ベストアンサー
3×3なので3次元というのがそもそもよくわかりませんが・・・
ndimは配列をlist風に表記したときなどのネストの深さです。もっと単純に言えば、3×3の数字の数です(3×3なら2、3×3×3×3なら4)。
3×3という配列の形の情報は別途shapeで取れますね。
投稿2018/11/18 04:44
編集2018/11/18 04:46総合スコア30933
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/18 06:14
多変量正規分布の確率密度関数を考えている途中で次元がわからなくなったのですが
3次元の正規分布を考えるときにxはどのような形で,平均,分散がどのようになるのかを
教えていただけるとありがたいです
例えば,以下の資料から考えるとxが3つある場合(x = {x1,x2,x3}),
平均が3つで,分散が3×3になると考えているのですがどうなのでしょうか
https://mathtrain.jp/tahenryogauss
2018/11/18 06:21
3次元の多変量正規分布自体は平均がxyz(と呼ぶことにします、別にx1,x2,x3でも構いません)ごとに3つ、分散はxx,xy,xz,yx,...の共分散ですから、3*3の分散共分散行列で表現されると思います。
多変量正規分布に従って分布するデータ自体は、numpyのデータ構造では
[[x1, y1, z1], [x2, y2, z2], ..., [xn, yn, zn]
と表され、shape=(n,3), ndim=2の配列になります。
また、分散共分散行列は
[[Cov(x,x), Cov(x, y), Cov(x, z)], [Cov(y,x), ...], ...]
というshape=(3,3)、ndim=2の配列として表現されます。
2018/11/18 06:23
3×3が分散共分散行列であることがわかっていれば、3つの確率変数の分散共分散行列なのは明白なので「3次元」という風に言ったりする、という趣旨だと思いますが、それとndimに直接の関係はありません。分散共分散行列は正方行列なのでshapeを見れば「3次元」ということはわかります。
2018/11/18 06:37
以下のサイトの
ベクトル、行列を用いた平均と分散の表記
というところに
三次元の例として,3×3の共分散行列が記述してありますが
これは,3次元ではなく,2次元で,3変数と考える
ということでしょうか
https://www.hellocybernetics.tech/entry/2016/10/06/111153
2018/11/18 06:43
「3個の確率変数がある場合の3×3の共分散行列」を「2次元のnumpy配列で表現している」のです。
数学的な「次元」とプログラミング上の「次元」はまったく別の概念と考えた方が良いでしょう(numpyのndimは後者です)。
2018/11/18 06:44
2次元になる理由は単純で、行と列を2次元で表現しているのです。
2018/11/18 06:57
なるほど.
ということは3次元といわれたら
数学的には3×3を想定するということでいいんですかね
プログラミング的には2次元だけど
っていう感じですか
2018/11/18 07:11 編集
分散共分散行列だから3次元=3*3なだけで、必ずしも3次元と言われたら3*3という訳でもありません。
「3次元の特徴量」ならサンプル数*3かもしれないし、あるいは単に3次元ベクトルかもしれない訳で。
サンプル数*3はプログラミング的には2次元配列だし、3次元ベクトルは普通は1次元配列かな。データ構造としての表現方法は色々あります(配列である必要性すら実はありません。pythonのdictで{(0,0):20, (0,1):42, ...}とかしても良いし(効率が悪いので普通はやりませんが))
2018/11/18 07:36
なるほどです
三次元の正規分布だったら,
三つの変数,三つの平均,3×3の分散
ということですね
ありがとうございます.
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。