はてなキーワード: 変数とは
変数の有効範囲が広いほど、わかりやすい名前をつけるべし(グローバル変数など)
有効範囲が短い変数は短い名前でも良し(for文のカウンタなど)
のようことは書いてないか
そういう変数はiとかでいいよっていうのも書いてあるはずだけど読んでないの?
って流れがまずあるんだけど。仮に
hensu1 = 5;
hensu2 = 3;
hensu3 = hensu1 + hensu2;
の変数ぐらいまでなら感覚で。hensu3には加算の結果として 8 が入ってることがみんな理解できるんだが。これが
hensu4 = 100;
for( i = 0; i < hensu4; i++ ){
print(i);
}
の繰り返し処理になってくると怪しくなりはじめ。
function tasizan (hensu5,hensu6){
return hensu5 + hensu6;
}
軽い気持ちで相関って書いたら突っかかられて面倒になってきたな
コメントでの記法に準拠するけど、ここで相関の強さという語は普通想定されると思われる相関係数の大小を指していると想定する
まず回帰の確率モデルがxを確率的に扱わないというのは単に解きやすいから初等的にはそういう仮定を置くというだけであって、一連の変数誤差モデルなどx側にも誤差の入る確率モデルは普通に使われている
あとこういう統計推論の文脈で用いられる「分散」という語は確率変数の分散ではなく標本分散なので、背後に何の確率モデルを仮定するかどうか関係なく形式的に計算される xが広がれば標本分散は大きくなるので分散と無関係という説明も意味が分からない
一応指摘しておくとわざわざ回帰の式にφを使っているのは何か意味があるんだろうか?y=ax+εとせずわざわざφとか使っている時点で非線形関数を考えているのかと思うが、例えばφ(x)=x^2などとすればσ=0でも相関がとても小さくなる例が作れる 急にカーネル法の話でも始めるつもりだろうか
もともとの文脈では分散の話をしていなかったし、(あなたが持ち出した)分散という語を使って議論するのが正しいわけではないと思うが、単に相関係数は分散でスケーリングをかけているので(あなたのいうところの)分散も考慮している、という程度の意味で書いた。そもそも回帰係数と相関係数は別の概念でしょう
分散は単にスケーリングとしてしか作用しないから、おそらくあなたの言いたかったことは分散ではなく分布を考慮できるかどうかではないかと思うが、共分散部分が分布の影響をきちんと考慮してくれている。
あと相関の強さについても度合は何も言及していなかったのに、突っかかりたいだけでしょうあなたは
一つの大きな前提を忘れている人がいるので注意しておきたい。
資産形成を考えるにあたって一番大事なことは「将来のある時点でどの程度の資産を形成していたいのか」です。
お金は多ければ多い方が良いという人がいる一方で、将来への備えは最低限で現在使えるお金を最大化することにメリットを感じる人もいます。
例えば自分の場合は、10年後の100万円より今使える10万円の方が価値があると考えて生きています。
金融理論からすれば今の10万円より10年後の100万の方に価値を見出すには余程の利率でないとおかしくなってしまいますが、人の考え方はそれぞれ。
10年後に投資で形成されうる資産や損失、あるいは投資をしなかったときの資産を比較した時の人生の幸福度の差、更には自身が10年後に生きている確率、これらは全て個々人の認識によって異なる変数です。
これらが人によって異なるのに、一概に投資を勧めるのは明らかにおかしいというのはわかるでしょうか。
あえて極論するならば、10年後に死ぬ確率が100%の30歳に対してインデックス投資を勧めるのかという話です。
国はマクロの視点から考えるので、金融理論に則った政策を考えてそれを個人に適用しますが、マクロで正しいことが個人というミクロで正しいのかは全く別なのです。
1円のお金は誰にとっても1円ですが、その価値は相対的であり、さらに未来という時間軸が加わると更に個人的なものになってきます。
これらを無視して誰にでも投資を勧めることは、価値観の多様性を否定しているということに他なりません。
投資を勧める連中は中途半端に頭がいい連中が多いため、投資をしていない人はそれが間違っていることかと不安になるかもしれませんが、金融の理論と個人の価値観すら分けて考えられない脳みそないので大したことはありません。
フェミを長年観察し続けてる趣味の者だが、この考察は非常に浅いな。浅すぎる。
変数が1つの正誤問題ではない。そう捉えてるのはさすがに理解の次元が低い。ゲームの勝利条件を設定し忘れている。
数学的にはそうであることは承知の上で社会学的な文脈による敢えての差別発言だと考察している。
これは日本男児が日本社会で長年やってきた「女は○○」という偏見や差別的言動に対するカウンター、差別に対する差別的な返し、ゲーム理論で言うところの「しっぺ返し戦略」なのではないかと考えている。
一応、男は泣くなとか男に対する偏見や差別もあったんだが、日本男児の男に対する偏見は女に対する偏見と違って抑圧的ではあっても不利益的には働かないケースが多かったからね。
↑を書いた元増田ですが、VBの話から派生した話で、やたらコマンドライン(以下CLI)を使った開発に否定的な人間がいて閉口した件。
そりゃ一口に開発と言っても色々なので、本当に統合開発環境(以下IDE)だけで開発するケースもあるのは、こっちも知ってるんだよ。
だから学習者の中で「何をやりたいか」が既に決まっているなら、CLIを全く触らずプログラミングを学ぶケースもアリということなのだろう。
1つ目は、そもそも「プログラムって何?」というレベルの人が「何をやりたいか」なんて決まっているわけがないので、最初から「何をやるか」を決めてかかるのはナンセンスという話。
むしろどういう開発に進んでもいいように、「等号は代入を意味する」辺りから始まって、どんなプログラミングでも基礎の基礎になる、データ構造とアルゴリズムを意識させることに集中させたい。
そのためには難易度低めで比較的潰しが効く言語を、できるだけシンプルな手順で作業できる開発環境で学べる方がいい。
そしたらPythonの実行環境とそこそこ以上の機能を持つテキストエディタを入れて、コマンドプロンプトとかPowerShellとかのCLIから"Helllo, world"が取っ掛かりだと思うわけ。
もしLinuxの環境が用意できるなら同じことをLinuxでも試してもらって、プラットフォームに依存しない開発の入り口くらいを知っておければベター。
いずれにせよ何かを実行する方法が1つではないという重要な知見は、できれば基礎のうちに知ってもらいたいことの1つだし、それはWindowsとLinuxとかCLIとIDEという対比がうってつけかなーと。
ちなみにIDEは、Pythonによる手続き型プログラミングに慣れた後のタイミングで学べばいいと思う。
そこまで行ったら変数の型や、クラスとオブジェクトとかの難しい話をGo言語で学んでおくことで、現場で使われているJava、C#、swiftへの移行もスムーズになりそうだし。
ちなみに「初心者コース」の最後、もし可能ならRustでポインタとメモリの話の触りくらいを体験してもらえると、組み込みに進む際のハードルが少しは下がるんじゃないかな。
もう1つは、いくら現場によってはIDEだけで開発する現実があっても、CLIを使った開発がどういうものかくらい、プログラマにとっては知ってて当たり前じゃねーの?という話。
もちろん「プログラマが何を知ってて当たり前なのか」は、時代の移り変わりとともにどんどん変わる。
大昔ならおそらく機械語とかが必須だっただろうけど、今なら機械語よりはHTMLを読めるほうが遥かに重要なわけで。
あと、UNIX系OSをパーティションごとに主要なディレクトリを分割してインストールしていた時代であれば、edエディタの使い方は必須だったと聞く。
(/binに入るエディタがedのみだったため、もし使えないとシステムクラッシュして/以外マウントできなくなったときに詰む)
でも今やそんなの完全に過去の話どころか、viとemacsの論争ですら多分古い方の問題になるだろう。
そういう過去の諸々も踏まえるとCLIが未来永劫、プログラマにとって常識的なナレッジだとは自分も思っていない。
でも今はまだ、プログラマを名乗るならCLIからコンパイルだ実行だくらいの基礎は知ってて当然だと思うんだが。