メルペイ

メルカリの株が下落している。

メルペイが評価されていない。

メルペイには銀行口座から金額を移すことができるけれど、

メルカリのフリーマーケットで得た利益から移すこともできる。

メルカリは、フリーマーケットの売上の10%を手数料として徴収する。

郵送料は(任意だけれど)おおよそ、出品者の負担でしょう。

となると、売上に対する利益は思った以上に薄くなる。

それをメルペイに移して、たとえばコンビニでパンを買うという気持ちには、なれないでしょうねぇ。

メルカリで売ったポイントで、メルカリで安く買う..つまり物々交換的なところに、その価値が見いだせるとおもうわけ。

matplotlibでの日本語のフォント

matplotlibでは、日本語が化けてしまう。

化けないようにしてみよう。

ネットで調べてみると、matplotlibのフォントのフォルダは、初期設定と同じフォルダの中にあるらしい。

まず初期設定のフォルダの場所を探してみる。

import matplotlib
matplotlib.matplotlib_fname()
'/Applications/anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc'

 

mpl-dataというフォルダーの中に、フォントのフォルダがあるでしょう。

じゃ、mpl-dataに作業ディレクトリーを移す。

cd /Applications/anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data
pwd
'/Applications/anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data'<

 

中のフォルダを確認してみる。

ls -a
fonts/        images/       matplotlibrc  stylelib

 

fontsのフォルダ確認。

/Applications/anaconda3/lib/python3.6/site-packages/matplotlib/mpl-dataの中のフォントのフォルダに日本語のフォントを入れれば、よろしい。

日本語のフォントをダウンロード ファイルの拡張子がttfなので、fonts/ttfの中に、ダウンロードしたフォントを入れる。

次に、フォントキャッシュをクリアにする。これをやっておかないと、キャッシュが、ダウンロードしたフォントを有用にしないらしい。

フォントキャッシュの場所を探す。

import matplotlib as mpl
mpl.get_configdir()

 

確認した場所に、作業ディレクトリを移す。

そして、そのなかのキャッシュファイルをリムる。

rm -r  fontlist-v310.json  tex.cache/

 

オッケー〜
これで完了の..はず。

ためしてみよー。

import numpy  as np
import matplotlib.pyplot as plt
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'IPAPGothic' 
*ここの書き方を覚える気さえない。
じつは、必要に応じて、じぶんのウェッブページを検索するつもり。

x= np.arange(-1,1.1,0.1)
y=x**2

plt.plot(x,y)
plt.xlabel('xの数値')

 

うまく、いっておる〜

 

NAS(ナス)

データの保存には、NASをつかっている。

もう、ずいぶん前からだ。

なぜNASを選んだのか、おぼえていない。

いちおうウィキペディアで、NASをチェックしておこう。

LANを介して複数端末でファイルを共有するためのストレージ機器である。

アップル純正のNASは販売中止になっているし、同社はNASについてサポートさえしていない。

じっさいNASとMacコンピュータの相性は良くない、

と書いているうちに、思い出したよ。

NASは、Macの、逐一バックアップする機能、TimeMathineをつかうために選択したのである。

現在なら、GoggleDriveといったクラウド上に直接データを書き込み、さらに保存できるでしょう。

これを利用すれば、そもそもMacのバックアップは必要ないわけだし、さらにはNASの特徴である、第三者とのファイルの共有だってできる。

ま、こういうご時世なんだね。Macは次期OSくらいからTimeMachineをバンドルしなくなるかもね〜

ヨーロッパ

中世のヨーロッパの学校は、教会主導でカトリックの教えに準じていた。商取引は、むしろ、さげすまされていた。なので、アラビア数字による10進法は、もっぱら商人を中心に浸透していった。複式簿記は商業の中心地、ベネチア(イタリア)、そしてネーテルランド(オランダ)で発達していった。

ちなみに、学術的には、数学はアリストテレスの形而上的な考え方が主流で、計算すると言えば、占星術(天体)の分野であったという。しかも、それには60進法が用いられていたという。
(「少数と対数の発見」(山本義隆/日本評論社)

資本を集めた商売と、複式簿記には深い関係があるでしょう。

資本を集めた人どうし、複式簿記で年次の資産を確認しあい、配当金額を合意した、とおもう。

支店を出すほど大きくなった事業は、やはり年次ごとに、経理の責任者がそれぞれの支店のバランスシートをチェックしたに、ちがいない。

ビジネスだけではなく、キリスト教からの資本の集積に関係するアプローチがあった。

プロテスタントから天職というコンセプトが生まれた。文字どおり、天から授かった職をまっとうすることは善であり、また一方で節約から生まれた利益も善である。得た利益は持ち寄って、やがて大きな資本となっていった。

もちろん、こちらは、オレが考えたストーリィではないよ。マックス・ヴェーバーの著名な本には、たしか、そのように買いてあったとおもうんだよねぇ。

対数の描画

対数を描いてみる。

pythonのグラフを描くライブラリーであるmatplotlibには、logオブジェクトが用意されている。

それを使ってみた。がしかし、底の引数には2と10しか使えないようだ。

底の数を幅広く使えるようにするには、かんたんな関数を入れてみると、オッケーだったりする〜

/* python */

import numpy as np
import matplotlib.pyplot as plt

def logarithm(x,base):
    return np.log(x)/np.log(base)  //底の変換公式を使う

x= np.arange(5,100,0.01)
y05=logarithm(x,1/2)
y2=logarithm(x,2)
y10=logarithm(x,10)

p1,=plt.plot(x,y05) 
p2,=plt.plot(x,y2)
p3,=plt.plot(x,y10)
plt.legend([p1,p2,p3],["logx1/2","logx2","logx10"])
//対数の名前を明示する
plt.grid() //グリッドを付ける
plt.show()

 

渋沢栄一の「論語講義」

「論語」を読み返すことがある。

同書は解説者により、多々、解釈が異なる。

個人的には、渋沢栄一の解説で読んでいる(「論語講義」/ 講談社)

ウィキペディアによると、明治維新の始まりには諸説あるようだ。

狭義では、明治改元にあたる1868年となっている。

がしかし、一般的には、その前年の1867年に行われた大政奉還、王政復古を、明治維新の始まりとすることが多いらしい。

夏目漱石は、1867年に生まれた。いずれにせよ、幼少のころが明治維新であった、と言えるだろう。

ちなみに森鴎外は1862年生まれ。漱石より5つ年上、と言うことになる。

一方の渋沢栄一は1840年生まれ。漱石より27年も年上となる。

司馬遼太郎によると、漱石は現在に通じる文体を作った人、ということになっている。

小説、随筆、新聞記事に至るまでの汎用性の高い文体となっているらしい。

残念ながら、それについては確かめる時間も能力もないけれど、少なくとも、漱石の文章は、現在でも読める文章だと思う。

それに比べると、「論語」を解説した渋沢栄一の文章は読みづらいし(実際には渋沢の言ったことが文章化されているのだけれど)
意味の分からないところも、ずいぶんある。

たとえば漢字ひとつの解釈も、現在とはニュアンスが違ったりもしている。

メルカリやクラウドワークス

インターネット上のプラットフォームは、可能なかぎり、ためすようにしている。

げんざいはメルカリと、クラウドワークスをやっている。

すくなくとも両者について、当事者二者の条件は「非対称」になっている、とおもう。

ここでいう「非対称」というのは、

メルカリなら、売り手の方が買い手よりコスト(気遣いや手間)がかかるし、

クラウドワークスの方は、仕事を受注する方が、発注する側よりコストが、かかる。

なので、メルカリなら「買う」を、クラウドワークスなら「発注する」の方を、おすすめしたい。

それと、もうひとつ。

メルカリもクラウドワークスも、知らない同士の取引をサポートするプラットフォームなので、それに合った設計となっている。

たとえばメルカリなら、一度、取り引きが成立した後は、条件の変更は、一切不可となっている。

ま、これは当たり前で、取り引き成立後、商品売買の内容を変えることができたら、悪だくみをする輩(やから)が、まったく出てこない、ということもないだろう。

ただし、ちゃんとした事情があって、取引成立後、条件を変えたいケースもある。じつはオレが、そうだったわけ。

そのばあい、
1)まずは、メッセージで相手に事情を伝え、納得してもらい…おたがいが取引をキャンセルする。
2)そのうえで、あらたな条件のもとで、出品者は異なる条件で同じ商品をアップし、同じ買い手に(ほかの人に落札されないうちに)速攻で購入する、という手順になる(ユーザーを指定して落札していただく方法もあり、というハナシも聞いているけれど、たしかめていない)

このさき、この種の取引にはブロックチェーンが取り入れられていくでしょう。

ブロックチェーンは、まだ、そのアプリケーションに厚みがないわけで。ゆいいつ、知られているのは暗号資産(仮想通貨)なんだよなぁ。

二項分布

10円玉を投げたとき、表が出たり、裏が出たりする。

その際の確率変数を、表を1、裏を0とする。

P(X=1) = P
p(X=0) =1-P

n回投げたとき、表が出る確率を描く分布を二項分布というらしい。

関数は以下の通り。うーん、むつかしい。

具体的にやってみよう。

3回投げたとき、3回とも表が出る場合、


(10×9×8 / 3×2×1) ×(0.5×0.5×0.5×0.5)×(0.5×0.5×0.5×0.5×0.5×0.5×0.5) 
=120 × 0.125 × 0.0078125
=0.1171875

計算がたいへん、

というわけで、pythonのライブラリーをつかって、やってみる。

ライブラリーscipyをつかう。
from scipy.special import comb

comb=comb(10,3)
Pa=(1/2)**3
Pb=(1/2)**7
ans = comb*Pa*Pb
0.1171875

ライブラリーをつかえばカンタンにできてしまうが、そのクラスやアトリビュートは、ぜったい覚えられないだろうよ。

じゃ、コイン10回投げたとき、表が出る回数の確率を求めてみよー。

from scipy.stats import binom

n = 10
p = 1/2
x=range(n+1)
y = binom.pmf(x,n,p)
y

array([0.00097656, 0.00976563, 0.04394531, 0.1171875 , 0.20507813,
       0.24609375, 0.20507813, 0.1171875 , 0.04394531, 0.00976563,
       0.00097656])

 プロットする。
import matplotlib.pyplot as plt
plt.plot(x,y,’o’)

10回中、5回投げた場合、いちばん表が出る確率が高いことが分かる。このへんは直感どおりだねぇ。0.25%というのが、ちょっと…0.5%の方が俺的にはピンと来たりするけれど…

参考:
実践python データサイエンス/udemy
13-1二項分布 統計WEB
 

離散型確率分布

定数は1、のように定まった数値。

変わる数値は変数という。

たとえば、サイコロを振ってみよう。

その際の変数をXとする。

Xは、ときには1になり、ときには2になり….6となる。

そして確率っぽく利用するときは、確率変数と呼ばれ、X=1,2,3,4,5,6となる。

オッケー、ここからpythonで、カンタンなプログラムを書いてみよう〜

まずライブラリーを読み込む。
from numpy.random import randint
from scipy import stats
import matplotlib.pyplot as plt

確率変数をリスト化する。
dice_random_variable = [1,2,3,4,5,6]

1〜6までの確率(1/6)の合計(1/6+1/6+1/6+1/6+1/6+1/6=1)
prob_sum = 1

それぞれの目が出る確率。
prob = prob_sum/len(dice_random_variable)
prob
0.16666666666666666

棒グラフで表現してみる。
plt.bar(dice_random_variable,prob)




平均値(期待値)を求める。



mean=sum(dice_random_variable )*prob
mean
3.5

分散を求める。



var=((mean-1)**2+(mean-2)**2+(mean-3)**2+(mean-4)**2+(mean-5)**2+(mean-6)**2)*prob
var
2.9166666666666665


参考:

実践python データサイエンス
11-2 離散型確率分布と確率質量変数 / 統計WEB
標準偏差/ウィキペディア