close

北京搖號規律|北京搖號找規律:編碼第7位是0時中簽率超50%



版權歸原創者所有,如有侵權請及時聯系!

“ 北京機動車搖號有什麼秘密?數據俠的上一篇文章《數據揭秘北京車牌搖號內幕:搖166年都不中的概率是37%!》,不少讀者覺得意猶未盡,那麼如何能夠提高中簽率呢?數據俠將用機器學習給你帶來更為勁爆的細節……信不信由你。

▍四問北京搖號

上一篇《數據揭秘北京車牌搖號內幕:搖166年都不中的概率是37%!》裡,筆者采集瞭從2011年到2016年51期每期的搖號池列表和隨機種子,同時還分析瞭搖號程序。在本期文章裡,筆者將重點討論以下四個問題:

13位用戶編碼真的是隨機的嗎?

搖號結果可否被預測?

搖號池中有哪些未曾發現的規律和模式?

如何讓特定號碼中簽?

作為開胃菜,筆者有必要向帝都的朋友透露一下,你爛熟於心的13位編碼,如果第7位是0,你搖到號的機率高達53%;但如果是4或者5,那麼我們隻能對你Say :Sorry!BTW,有210萬用戶曾經中斷瞭搖號,這個比例竟接近總人數一半!SO:沒有搖到號的童鞋請盯緊你的號。此外,帝都以外的童鞋也不要掉以輕心,杭州,天津,深圳和廣州的搖號系統也是同一傢公司開發的。(筆者盡量保證客觀,但不對文中的猜想做任何保證。)

▍每搖6次中簽概率增加一倍先簡單介紹一下,誰能擁有搖號資社區公寓大廈抽肥格:

北京戶口

工作居住證

社保滿五年

現役在京軍人和武警部隊

在讀普通高校學生(包括已畢業)

平均每年新增50萬搖號用戶,學生應該占瞭相當的比例。學生即使畢業,離開北京,好像也能參與搖號,因為沒有發現成規模的未搖中但停止搖號的用戶。

搖號社保滿五年的判定和買房不一樣。搖號時,社保允許斷月,不能斷年。但買房則一個台中抽水肥價格月都不能斷。所以搖號的門檻還是低瞭很多。

當你搖號的次數每多六次,中簽比率就增加一倍。但是三次搖號後如果沒有按時上官網重新申請,則之後不會自動搖號,忘記重新申請的人非常多,好在中簽比率得以保留。一旦搖中卻沒有購買,中簽倍率清零。

當你註冊之後,搖號系統會提供13位的唯一ID,與身份證綁定,不論是否重新登記,ID都是確定的。通過審查之後,即可進入搖號池。

▍搖號系統如何工作?搖號池是按照ID的數值,從小到大升序排台中化糞池清理列的。當用戶的中簽概率不相等時,會稍微復雜一些:

當參與搖號的ID確定後,搖號池也是唯一確定的。

隨機數產生的方法,在上一篇文章中已經解釋過瞭。大概如下圖:

不過,這個產生隨機數種子的【隨機數算法】,並沒有公開。我們無法驗證其到底是隨機產生的,還是事先定義好的。

那麼如何根據隨機種子搖號呢?

計算機生成的隨機數,就是一連串看似隨機生成,但背後有規律的數字序列。但是,生成隨機數需要“種子”(一個數字),如果不特別指定,種子是當前的操作系統時間,所以每次程序運行結果都不一樣。但當指定瞭確認的種子號碼,生成的序列就是確定的。

公證人員從12個球中無放回地抽取6個球,每個球表示一個市民代表。每個市民在電腦上點擊確定,電腦隨機生成0-9的數字,最後總共6位隨機號碼。

之後,我們就能根據生成的序列從搖號池裡挑選幸運兒瞭,以上面的圖為例,依次挑選第1個,第8個,第32個…已經被選中的元素會被跳過。

(在附錄提供瞭搖號程序的偽代碼)

當搖號池和6位隨機種子都確定時,誰能搖中就是確定的。不過,這個產生隨機數種子的【隨機數算法】並沒有公開。我們無法驗證其到底是隨機產生的,還是事先定義好的。

▍第七位對中簽率影響最大人為發現規律有些困難,我們先用最簡單的線性模型,研究在整個數據集上,是否能發現某些號碼高中簽概率的特征,框圖如下:

十進制數可以被打散,比如7,可以打散為0,0,0,0,0,0,0,1,0,0,第七個數為1,其他為0。這樣,用戶的13位註冊ID可以表示為130維的佈爾特征(feature),而將是否搖中,作為要預測的結果(label)。

從所有472萬用戶中,隨機抽取20萬用戶作為訓練集,另外20萬用戶作為測試集,使用logistic回歸模型,最終繪出瞭ROC曲線【附錄2】如下:

這樣的曲線,證明預測效果是相當好的!AUC值接近0.8。

也就是說,這個模型能夠有很高的幾率預測出一個特定號碼是否中簽!

我當時就驚呆瞭!趕緊把模型在130維特征上的權重分佈繪制出來(線性模型具備很好的解釋性)

下面的曲線更是讓人詫異!

從這個曲線上表明,13位數字的第七位,極大地影響瞭是否被抽中!

我們對全局數據集進行分析:當ID第七位為0時,你有53%的可能性抽到,抽中的概率比沒抽中還高。隨著第七位數字逐漸變大,中簽率也越來越低,當第七位為5時,中簽率接近兩千分之一瞭!【附錄3】

那是不是隻要給我分配一個第七位為0的號碼,就像投硬幣投出正面,我就能在兩到三次搖號搖中?

我曾經和現在的你一樣,詫異而激動。

然而發現,這個規律對於全局數據集有效,但對某一期搖號,線性模型沒有任何預測能力。 這到底是怎麼回事呢?這說明,ID編碼並非隨機,否則不會產生如此明顯的偏差。

▍ID編碼猜想ID可能與用戶的生日,身份證,性別或某些特定屬性有關系。

我們把13位編碼,每一位都做瞭分析,下面的圖是筆者部分推理:

前四位看樣子確實隨機。基本能根據7,8位的數值推斷出號碼註冊的期號。

後來經過反復分析,第7位到第13位,總共7位,是數據庫的自增主鍵!即:每個新用戶註冊,這個7位的數字就會加1,這七位,代表你是系統中的第幾位用戶!

所以到2016年第3期為止,系統註冊的人數高達572萬,但總共參與搖號的僅有467萬,有105萬人雖註冊,卻沒有參與,可能原因是沒有通過審核。(記不記得前面提到的那些苛刻條件?)

▍思維實驗室:如何讓特定的號碼中簽瞭解瞭上面的原理,我們如何讓特定的號碼搖中?(提前聲明,僅為思想實驗,沒有任何真實性和指代性。)

方法1,假設想讓第8個和第40個中簽,我們就可以搜索出某個特定種子,讓它生成的序列正好覆蓋8和40。如果需要中簽的號碼特別多,則不一定能覆蓋所有目標號碼,於是就有方法2和方法3。

方法2參考圖中示例,假設原先E中簽,現在為瞭C中簽,在C之前插入C0和C1(這都是兩個無效號碼,不代表任何人),即可將C擠到原來E的位置,從而C中簽。

方法3和2類似,但是是清除瞭一些號碼。空號碼是否參與此次搖號,肯定無人關心,而一般人也難以驗證自己是否參與瞭本次搖號。

▍搖號池中的規律:210萬用戶曾經中斷瞭搖號假設能通過用戶ID能知道其註冊順序和大概的註冊時間,我們在搖號池數據中發現瞭一些有趣的模式:

【模式1】

用戶ID按照註冊時間依次遞增,但ID並不連續,可能因為未通過審核,但有的不連續區間高達20以上,也就是連續20個用戶註冊瞭,而他們一個都沒有通過審核!這樣的情況還非常多。

【模式2】

每年都有幾千個老號碼首次參與搖號,即使到瞭2016年,也會有上千個本應該在2011年就首次參與搖號的號碼。也許是這些人交夠瞭五年社保,通過瞭資格審查吧。

【模式3】

有210萬用戶曾經中斷瞭搖號!中斷時間有長有短,有的中斷瞭1期,有的隻搖瞭第一期。這個比例竟接近總人數一半。

筆者之前忘瞭重新登記,導致曾有接近一年時間沒有參與搖號,悲劇的是每個月百度都會給我發送未中簽的短信。我一直以為自己參與瞭搖號呢。(DT君:看來像沙漠君一樣懵逼的童鞋大有人在)

為什麼這傢神秘的公司,不能稍微提醒一下那些忘瞭重新登記的用戶呢?要知道大傢基本都是通過手機號來註冊登陸的呀。

回到前面的問題【能否讓特定號碼中簽】,記不記得每個用戶前面的1-4位的四位隨機數?因為搖號池是按照總體13位數字來排序的,因此隻要控制1-4位隨機數,就能控制一個新產生的號碼,插入到任何想插入的位置。

如果一個用戶沒有參與某一期的搖號,他自己都是非常難以發現的。嗯…

▍同一個搖號系統,不同的信息公開

下面我們對比不同城市搖號系統的區別,看看是否有其他規律。

北京,杭州,天津,深圳和廣州都是需要搖號的。隻有上海和杭州拍牌。所有城市的搖號系統,都是同一傢公司開發的,用戶編碼都是13位數字,都符合上述規律。網站和設計都非常相似,隻是換瞭配色。

北京不少自住房搖號系統,也是這傢神秘公司開發的。不得不對這傢地處北四環西路的神秘公司產生濃濃的敬佩之情。

我們對比瞭不同城市的信息公開程度,整理表格如下:

所有城市都不會同時提供以上五種信息。2013年以前,北京是提供中簽者姓名的,可是因為一些姓名(如【劉雪梅】)重復中簽太多,導致輿論風波,後來就取消掉瞭。即使如此,北京依然是信息最為公開的。

再如廣州,隻提供瞭中簽者,其他人是否參與抽簽和隨機數種子都不知道,搖號視頻也不公開。怪不得不少網民反響強烈呢,貴司要不考慮一下?

▍結論:信息理應更公開透明

這套搖號系統工作瞭接近6年,但卻並非無懈可擊。但我愛北京,我相信北京的搖號系統一定是公正而公平的。

我們要感謝北京的搖號系統,在幾個城市中的公開程度是最高的。但是,如果下面的內容能公開,那真是一大幸事:

? 六位隨機數種子的【隨機數生成算法】

? 搖號池用戶的姓名和搖中用戶的姓名

也許有人會提到信息隱私的問題,難道搖中和沒搖中用戶的隱私不一樣麼,要知道現在很多城市依然在公開搖中用戶的姓名呢。搜索引擎依然能找到早些年的中簽用戶名單。

其實限牌看似合理,卻徹底杜絕瞭資源的按需流動:早期不限購時期的車友,擁有好幾輛車;而2011年以後的市民,不論多麼著急用車,都難以指望搖號,隻能通過一些地下手段,來支付高昂的租車牌費用。二手房都可以買賣,但為什麼二手車車牌不行呢?

也許是因為,一旦車牌能交易,搖號便失去瞭其所謂的【純潔性】,想想搖中瞭就相當於中瞭幾十萬的大獎,這一點也許是管理部門更不願意看到的。而封死現在車牌的總數量也不可行,車企一定不幹,河北車牌又要爆發瞭。

現在電動車搖號毫無壓力,隻要申請就能中,筆者也查瞭很多電動車的信息,很不幸,滿足“質量還可以,基本能開”標準的電動車幾乎沒有,即使來自納稅人的高昂的補貼也不能改變這一局面。至於電動車,以後有時間我們可以單獨撰文討論一下。

當然有人說瞭,沒有車可以打車啊,現在滴滴和租車軟件多麼方便,還比買車省錢,不用考慮停車啊。

我們先不論經濟賬,也不論成為有車一族的【自由】,想想某一天下大雨,老婆很晚才到傢,回來第一句話就是,【打不到車,我老板開車把我送回來的】,這個時候你看著窗外遠去的車影,依稀還能看到那男人的嘴臉,一切吐槽都變得蒼白,心裡隻剩下三個字:【要有車】

▍附錄:

1.搖號程序的偽代碼(Python,僅作為演示,可能有紕漏)

2. ROC曲線

ROC全稱為受試者工作特征曲線 (receiver operating characteristic curve), 以假陽性概率(False positive rate)為橫軸,擊中概率為縱軸所組成的坐標圖,繪制特定刺激條件下由於采用不同的判斷標準得出的不同結果畫出的曲線。

ROC曲線圍成的面積,就是AUC值。如果模型具備超強性能,那麼曲線會盡可能靠近左上角,AUC值接近1; 若模型不具備任何預測能力,則ROC退化為一條對角線,AUC為1/2,和瞎猜沒什麼區別。ROC相比於精確度和召回率,更能描述一個模型的整體特征。對任意一次特定搖號的數據繪制ROC,得到的就是對角線。

3. 神秘的第七位

計算機從0開始,第六位也就是我們所說的第7位,橫軸二元組的(4,1)代表第七位值為4且搖中,(4,0)代表為4且未搖中。

估計有人又會因此傳謠瞭,【通過你的編碼預測吉兇和是否能夠搖中】然後刷爆朋友圈,這規律全局來看,確實是對的。但僅僅是越小的號碼越早註冊,搖號的次數越多,搖中的概率就會越大,僅此而已,哎。

4. 其實研究並不深入

我也曾嘗試做比如【第三位和第五位加起來是個質數】這樣喪心病狂的特征工程,還計劃用其他的非線性模型,但效果並不一定比線性模型好,這似乎難說是個機器學習問題。四位隨機數的模式也沒有繼續深究,如果你有興趣繼續研究,歡迎聯系我。

(註:本文僅代表作者觀點)





愛極客轉載本文隻以信息傳播為目的,不代表認同其觀點和立場;

版權歸原創者所有,如有侵權請及時聯系。

聯系郵箱:fankui#igeek.com.cn(請將#替換成@)


arrow
arrow
    創作者介紹
    創作者 euw626ea26 的頭像
    euw626ea26

    鴕鳥的網購清單

    euw626ea26 發表在 痞客邦 留言(0) 人氣()