ソーシャル物理学:「良いアイデアはいかに広がるか」の新しい科学

読書メモ

ソーシャル物理学を読んだ。


ソーシャル物理学:「良いアイデアはいかに広がるか」の新しい科学

ソーシャル物理学:「良いアイデアはいかに広がるか」の新しい科学




タイトルになっている「ソーシャル物理学(社会物理学)」を調べてみると、1800年代のアドルフ・ケトレーという数学者が確率論を社会研究に応用しようとしたのが始まりらしいが、現在そういう学問が広く一般的に確立している訳ではなさそう。


この本で扱っている分野は計量経済学とか複雑系とかに近く、それでいてかなり現実社会への応用を前提とした研究の話が書かれていて非常に興味深かった。
著者はMITメディアラボの教授として社会物理学を研究しており、ビッグデータ研究の世界的な第一人者で、フォーブス誌が選ぶ「世界で最も有名な7人のデータサイエンティスト」に選ばれている。


現在の社会は、ついにビッグデータ(スマホをハブとしたセンサーデータ、SNSデータ等)を用いて、人間社会を定量的に可視化できるようになってきており、そこから統計的に人間行動を計測分析し、人間社会を予測できるようにし、"改善"するというのが著者のやりたいことである。これを実現するための、人間社会を表現するモデルに、"物理学"が出てくる。
人間社会を表現する側面として、人や組織の間の情報の流れに着目し、これを物理の粒子、エネルギーの流れのアナロジーとして数式を当てはめるようなイメージで物理学を人間社会(人間の組織)の改善に適用しようとしている。

社会物理学とは、情報やアイデアの流れと人々の行動の間にある、確かな数理的関係性を記述する定量的な社会科学である。

このようにアイデアの流れに注目するのが、社会物理学という名前をつけた理由だ。通常の物理学の目標が「エネルギーの流れがどのように運動の変化をもたらすか」を理解することであるように、社会物理学は「アイデアや情報の流れがどのように行動の変化をもたらすか」を考察する。


この人たちの論文をちょっと調べてみようと思う。

codecademyのpythonコースをやってみた その2

前回の投稿に引き続き、codecademyのpythonコースを進めています。
再度、明らかなバグを見つけましたので、解決方法をメモ。

[Reading Between the Lines]のエラー解決方法

95%程度まで進んだら遭遇しました。

"text.txt"というテキストファイルをopenして、readlineで読み込む課題なのですが、そもそも"text.txt"というファイルが存在しないとの下記エラーが。

No such file or directory: 'text.txt'

フォーラムを検索したら、やはりみんなひっかかっているようで、解決方法もみつかりました。

"text.txt"ファイルがないのなら、作ってしまえばいいということで、最初にファイルを自分で作成してから、課題のコードを記述することで解決しました(^^;)

■課題をクリア出来るコード
with open("text.txt", "w") as f:
f.write("hello")

myfile = open("text.txt", "r")
print myfile.readline()
print myfile.readline()
print myfile.readline()

my_file.close()

codecademyのpythonコースをやってみた

codecademyというプログラミング言語を学べるサイトでpythonコースをやっていて、つまづいたところをメモ。

Catalog | Codecademy

 

[Lists and Functions Forum]の[Printing out a list item by item in a function]

 

大体全体の52%くらいまで進んだところで、上記のタイトルの問題に遭遇。

ちゃんとコーディングしたはずなのに、関数の中にnなんて使ってないのに下記のエラーが。

Oops, try again. The body of your function should not contain any references to 'n'

 

色々調べて結局先に進めたのですが、下記のように関数の外で自分で関数をprintするといいらしい。

 

n = [3, 5, 7]
def print_list(x):
    for i in range(0, len(x)):
        print x[i]
print print_list(n)

 

やっぱみんな同じところで引っかかっているらしいです。

12/18 Printing out a list item by item in a function | Codecademy

 

 問題を解かないと先に進めないので、問題にバグ(?)があって、OKにならない場合、次の問題ができないのです。。。

この問題はあまり深く考えずに次に進んでいきます。