keisukeのブログ

***乱雑です!自分用のメモです!*** 統計や機械学習の勉強と、読み物を書く練習と、備忘録用のブログ

Windowsバージョン予測

世間はWindows10のニュースで賑わっていますが,なぜWindows8のあとが9ではなく10なのでしょうか. 「Windows9」にすると,これまでのWin9xシリーズであるWindows95Windows98などを検出するためのコードにWindows9も引っかかってしまい,後方互換に問題が出るのでWindows10にしたという噂もどこかで聞きましたがよくは知りません.

ところで,次のグラフはWindowsの製品に含まれる数字を縦軸,発売日を横軸にとったものです:

f:id:kaisk:20150125192806p:plain

2000系列が明らかに外れ値となっています.おそらくMicrosoftの方が命名を間違えたのでしょう.98の次が2000になるのは小学生が見ても誤りですね.98年の二年後が2000年なんて馬鹿なことはありません.98年の二年後は100年です.そこで,Microsoftの方が命名を間違えた製品を除いたグラフは:

f:id:kaisk:20150125193114p:plain

このようになります.まだ95や98が外れ値になっていますが,2000と比べればエラーが小さくなったのでそこまで気にしなくてもいいでしょう.98→2000に比べれば,3.1→98は大した間違いではありませんね.

さて,では本当にWindows10という命名は妥当だったのでしょうか?これまでのWindowsの製品の命名から,2015年に発表されるべきWindowsの製品名を予測しましょう. 線形回帰します.

f:id:kaisk:20150125193911p:plain

Ridgeの線が見えませんが,Lassoのものと重なっています.これまでのWindowsの製品名から予測した結果,2015年に発売されるべきWindowsは,OLSによると「Windows 17.346」,Ridge・Lassoによると「Windows 14.913」のようです.実際に発売されるであろうWindowsが「10」であることを考えると,あまり良い予測ではありあません.そこで,やはりMicrosoftの方が製品名を付け間違えたであろう「Windows95」「windows98」をデータから除いて,同じことをしました:

f:id:kaisk:20150125194318p:plain

今度は3つの線がすべて重なっています.予測された2015年のWindowsの製品名は「Windows 7.678」です.8より小さくなってしまいました.しかし,データを見ると,1995年のあたりで明らかに傾向が変わっています.これは,その頃にMicrosoftの方が命名の規則を忘れたのでしょう.そこで,WindowsNT系列のデータを切り出します:

f:id:kaisk:20150125194619p:plain

だいぶいい感じになってきました.予測された製品名は「Windows 8.638」,四捨五入すれば「Windows 9」です!やはりwindows10ではなく9が正統な製品名なのでしょう.参考までに,最後のデータによって予測された2020年の製品名は「Windows 9.90」,つまりWindows10は5年くらい時代を先取りしているようです.ちなみにWindows98が発売されるのは西暦2400年ごろ,Windows2000が発売されるのは西暦10000年ごろのようです.

なお,Windowsの製品名ではなくちゃんと内部バージョン名を見てみるともっとちゃんとできそうです(やりませんけど). 現在主流のNT系の内部バージョン名のグラフを見ると,どうやら線形ではなく頭打ちのlog曲線を描いているように見えますね(やりませんけど). 今回はネタなので製品名にはいっている数字を予測しましたが,ちゃんと内部バージョン名を予測しようとしたらけっこうよい精度が出そうです.

f:id:kaisk:20150125195425p:plain

f:id:kaisk:20150125195501p:plain

f:id:kaisk:20150125195504p:plain

f:id:kaisk:20150125195507p:plain