
引力波數據是用 Python 分析的,真牛!
Python 作為數據分析師人員應該掌握的一門技術,python技術的發(fā)展及使用在社會上得到更大的應用。
美國科學家11日宣布,他們去年9月首次探測到引力波。這一發(fā)現印證了物理學大師愛因斯坦100年前的預言。宣布這一發(fā)現的,是激光干涉引力波天文臺(LIGO)的負責人。
這個機構誕生于上世紀90年代,進行引力波觀測已經有近30年。那么觀測到的引力波數據的量應該很大,科學家如何對這些數據進行分析?有沒有用到Python編程語言?
答案是肯定的。筆者在Github上發(fā)現了一個專門用于分析引力波數據的Python包:GWPY。據維護者介紹,GWPY的代碼來自LIGO和另一個名叫Virgo的機構,維護者將這兩個機構科學家的Python代碼整理,最終的產品就是GWPY這個用戶友好的Python包。
在具體介紹GWPY之前,先給和筆者一樣的小白簡單科普一下引力波和LIGO的相關知識。
什么是引力波?
This 3-D visualization shows the gravitational waves produced by two orbiting black holes. (Credit: NASA)
上圖是兩個黑洞所產生的引力波的3-D模擬圖(NASA)。
首 先,什么是引力波?在物理學上,引力波是愛因斯坦廣義相對論所預言的一種以光速傳播的時空波動,如同石頭丟進水里產生的波紋一樣,引力波被視為宇宙中的 “時空漣漪”。通常引力波的產生非常困難,地球圍繞太陽以每秒30千米的速度前進,發(fā)出的引力波功率僅為200瓦,還不如家用電飯煲功率大。宇宙中大質量 天體的加速、碰撞和合并等事件才可以形成強大的引力波,但能產生這種較強引力波的波源距離地球都十分遙遠,傳播到地球時變得非常微弱。
下面分享兩個優(yōu)秀的視頻,很好地解釋了引力波及背后的原理。第一個來自LIGO,第二個則是比較通俗的漫畫式講解。
LIGO科學家的解釋:
漫畫式通俗解釋:
LIGO是什么?
激光干涉引力波觀測站Laser Interferometer Gravitational-Wave ObservatoryLIGO是加州理工學院(Caltech)和麻省理工學院(MIT)的合作實驗室,現在也有其他的大學參與。實驗資金來源于美國國家科學基金會。LIGO是用來尋找宇宙中的引力波,從而可以驗證黑洞的存在和檢驗廣義相對論。
LIGO 主要有兩個觀測點,位于路易斯安那Livingston Parish的LIGO Livingston觀測點,和華盛頓 Hanford的LIGO Hanford觀測點。除此之外,在加州Passadena 的Caltech校園中還有LIGO 40m Prototype 。
LIGO是如何探測引力波的?
GWPY:LIGO用它分析引力波數據?
接下來是本文的重頭戲。我們一起來學習如何GWPY分析引力波數據。下面的介紹及示例均來自GWPY的官方文檔。
安裝
很簡單,pip install gwpy就可以完成安裝。
不過安裝的過程可能會比較長,因為gwpy使用的依賴包比較多,包括numpy、 scipy、 cycler、matplotlib、astropy等。
面向對象編程
GWPY是一個面向對象編程的Python包,也就是說,數據對象是這個包的核心關注點。每一個數據對象都體現為一個類實例,包含了其屬性和包含的數據。
如果想創(chuàng)建一個新的類實例,建議使用標準的構建器constructor。舉個例子,我們可以使用一個數據數組,生成一個TimeSeries對象:
>>> from gwpy.timeseries import TimeSeries>>> mydata = TimeSeries([1,2,3,4,5,6,7,8,9,10], sample_rate=1, epoch=0)
或者從在線數據服務器上下載:
>>> from gwpy.timeseries import TimeSeries>>> mydata = TimeSeries.fetch('H1:LDAS-STRAIN', 964656015, 964656615)
核心數據對象
據介紹,GWPY提供了4種核心數據對象,分別代表引力波探測器所產生的四種標準數據:
TimeSeries(時間序列數據)
Spectrum(光譜數據)
Spectrogram(光譜圖)
DataQualityFlag
引力波數據可視化
我們知道,將引力波探測器收集的數據可視化,對于理解引力波的特性、研究引力波信號來說非常有幫助。gwpy.plotter模塊中提供了一些plot類,可以直觀地展示相應的數據類型。
GWPY的核心數據對象里,大部分都內置有一個plot()方法,可以讓研究人員快速對某個數據集進行可視化展示。舉個例子:
>>> from gwpy.timeseries import TimeSeries>>> data = TimeSeries.fetch('H1:LDAS-STRAIN', 968654552, 968654562)>>> plot = data.plot()>>> plot.show()
gwpy data plot
GWPY:利用公開的LIGO數據進行繪圖
我們接下來利用LIGO公開的一些引力波時間序列數據進行繪圖。我們可以直接在線加載這些數據。首先導入我們需要的模塊:
>>> from urllib2 import urlopen>>> from numpy import asarray>>> from gwpy.timeseries import TimeSeries
然后,下載數據,保存為文本字符串:
>>> data = urlopen('http://www.ligo.org/science/GW100916/L-strain_hp30-968654552-10.txt').read()
現在,我們可以對文本進行解析,補充必要的元數據之后,就可以生成一個TimeSeries:
>>> ts = TimeSeries(asarray(data.splitlines(), dtype=float),>>> epoch=968654552, sample_rate=16384, unit='strain')
最后,我們就可以繪圖了:
>>> plot = ts.plot()>>> plot.set_title('LIGO Livingston Observatory data for GW100916')>>> plot.set_ylabel('Gravitational-wave strain amplitude')>>> plot.show()
數據分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
LSTM 模型輸入長度選擇技巧:提升序列建模效能的關鍵? 在循環(huán)神經網絡(RNN)家族中,長短期記憶網絡(LSTM)憑借其解決長序列 ...
2025-07-11CDA 數據分析師報考條件詳解與準備指南? ? 在數據驅動決策的時代浪潮下,CDA 數據分析師認證愈發(fā)受到矚目,成為眾多有志投身數 ...
2025-07-11數據透視表中兩列相乘合計的實用指南? 在數據分析的日常工作中,數據透視表憑借其強大的數據匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實施重大更新。 此次更新旨在確保認 ...
2025-07-10BI 大數據分析師:連接數據與業(yè)務的價值轉化者? ? 在大數據與商業(yè)智能(Business Intelligence,簡稱 BI)深度融合的時代,BI ...
2025-07-10SQL 在預測分析中的應用:從數據查詢到趨勢預判? ? 在數據驅動決策的時代,預測分析作為挖掘數據潛在價值的核心手段,正被廣泛 ...
2025-07-10數據查詢結束后:分析師的收尾工作與價值深化? ? 在數據分析的全流程中,“query end”(查詢結束)并非工作的終點,而是將數 ...
2025-07-10CDA 數據分析師考試:從報考到取證的全攻略? 在數字經濟蓬勃發(fā)展的今天,數據分析師已成為各行業(yè)爭搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢性檢驗:捕捉數據背后的時間軌跡? 在數據分析的版圖中,單樣本趨勢性檢驗如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數據類型:時間維度的精準切片? ? 在數據的世界里,時間是最不可或缺的維度之一,而year_month數據類型就像一把精準 ...
2025-07-09CDA 備考干貨:Python 在數據分析中的核心應用與實戰(zhàn)技巧? ? 在 CDA 數據分析師認證考試中,Python 作為數據處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗:數據趨勢與突變分析的有力工具? ? ? 在數據分析的廣袤領域中,準確捕捉數據的趨勢變化以及識別 ...
2025-07-08備戰(zhàn) CDA 數據分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數據分析師認證作為國內權威的數據分析能力認證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應對策略? 長短期記憶網絡(LSTM)作為循環(huán)神經網絡(RNN)的一種變體,憑借獨特的門控機制,在 ...
2025-07-07統(tǒng)計學方法在市場調研數據中的深度應用? 市場調研是企業(yè)洞察市場動態(tài)、了解消費者需求的重要途徑,而統(tǒng)計學方法則是市場調研數 ...
2025-07-07CDA數據分析師證書考試全攻略? 在數字化浪潮席卷全球的當下,數據已成為企業(yè)決策、行業(yè)發(fā)展的核心驅動力,數據分析師也因此成為 ...
2025-07-07剖析 CDA 數據分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數據分析師考試作為衡量數據專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉日期:解鎖數據處理的關鍵技能? 在數據處理與分析工作中,數據格式的規(guī)范性是保證后續(xù)分析準確性的基礎 ...
2025-07-04CDA 數據分析師視角:從數據迷霧中探尋商業(yè)真相? 在數字化浪潮席卷全球的今天,數據已成為企業(yè)決策的核心驅動力,CDA(Certifie ...
2025-07-04CDA 數據分析師:開啟數據職業(yè)發(fā)展新征程? ? 在數據成為核心生產要素的今天,數據分析師的職業(yè)價值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03