数据科学

所有帖子标记标记数据科学

svmregression.

展示机器学习算法如何决定在两个类对象之间的边界的位置的动画。

DPS会议的第三天充满了关于Exoplanet系统的轨道架构的迷人谈话。

一个引起了我注意的人 丹tamayo.‘s talk on using 机器学习 分类行星系统的稳定性。

随着天文学家发现了更多的潜在行星系统,它’努力决定我们所看到的是否实际上是行星的越来越耗时或其他一些东西让我们愚弄了他们’re planets.

当天文学家找到他们认为的东西可能是行星系统时,他们检查的第一件事之一是推定的行星系统是否实际上是稳定的—也就是说,推定行星中的引力拖船是否会使物体彼此撞击或被抛出系统。

由于我们发现的大多数行星系统可能是数十亿年,天文学家希望真正的行星系统在数十亿年稳定,因此如果系统我们’在短时间内,重新看起来不稳定(不到数十亿年),我们通常会决定它’不是行星系统(或者我们估计行星参数)。

不幸的是,执行此检查通常需要运行大,复杂的计算机代码,调用 N-sural模拟 (“N”对于系统中的行星或机构的数量)为数百或数千个计算机。如果你,这可能是一个问题’vers的行星候选人洪水淹没 开普勒 或即将到来 苔丝 missions.

Tamayo想要尝试一种不同的方法:如果允许谷歌或Facebook的相同的机器学习技术是为了决定某人是否可能购买iPhone,可以用来更快地决定推定的行星系统是否稳定

所以Tamayo创造了许多,许多合成的行星系统,一些稳定,有些没有,并且他的机器学习算法排序。 根据Tamayo,他的计划能够拾取微妙的特征,帮助将稳定的系统与不稳定的系统区分开,在运行N体仿真的一小部分中具有非常高的准确性。

aaeaaqaaaaaaaaaaaajdjmowm5yzjjlwjhzgitnge4ys05ogi3lwu4mdjmmi4zgexyq.我还参加了一场打开的谈话 Patricia NSF的诺布泽 关于 无意识的偏见 及其对天文学和行星科学的影响。 Knezek解释说,一些研究表明,这些偏差如何导致每个人都会根据非常粗略的信息制定关于某人的无意识结论,例如他们的名字,种族,性别等。

例如, 一项研究 如果申请人,师范位置的申请相同的申请表’s first name was “Brian” instead of “Karen”,即使女性评估申请。

幸运的是,这些相同的研究表明了 几种减轻效果的方法 这些偏见,并意识到它们是一个很大的第一步。

更新(2016年3月24日):现在 免费提供 上 astro-ph.

天体物理学杂志 今天发表 一篇论文 我的 同事 和我自己调查了一种寻找卫星的方法 过境外产.

在过去几十年中,成千上万的行星和行星候选人的发现是有动力寻找的平行努力 exoomoons.。除了提供操作基础 对于帝国,exoomoons可能实际上是 在某种程度上,一个更好的地方找到extoplarars的生命.

该技术用于寻找底花,称为轨道抽样效果,是 由RenéHeller开发 并涉及寻找月亮的微妙签名’S阴影与其过渡行星主机的阴影一起,如下图所示。

At epoch (1), a satellite’s transits just before the planet. At epoch (2), the planet's transit begins, inducing a large dip the measured stellar brightness. At epoch (3), the satellite modifies the planet'S运输光曲线略微但可测量。

地球周围所示的乌云代表了令人缘蜜’S阴影,平均在几个轨道上。在时期(1),卫星在地球面前的卫星运输。在纪元(2),地球’S运输开始,诱导测量的恒星亮度大的浸渍。在时代(3),卫星改变了地球’S运输光曲线略微但可测量。

这种简单的技术具有优势 另类展望搜索 in that it doesn’T需要大量的计算资源实现。它还可以使用已有的数据 开普勒和K2任务。但是,在自己的情况下,该技术可以’t provide a moon’S群众,只有其尺寸,并且需要许多主体行星的矫化线来找到月亮’非常微妙的过境签名。

尽管发现它们是巨大的努力,但仍未发现令人难以置信,因此搜索继续。

 

OCR. OC-GAIN

我的 phys341 学生有兴趣了解如何 OCR.常规 处理他们的出席表,所以我申请了它,如下所示。

IMG_3707_ORIG扫描左图显示原始版本的原始版本。常规是没有扭曲页面的合理工作(尽管它不是’TO糟糕,开始)。

和这里’s常规返回的文字是什么:

zolto J:)o<-&\
Qfick ${‘bt\L . .
1ZWrW(\ DQVCS
Onras Tkomag
Jam; I-Em!
De»-UV1, ?I‘L\M‘ovV\QJ3€,v'
Ia./I B,a,C/IHMC .
V.o\3 \3<<I°\Ser&eck
jengifcr Brigga
}VK°'('3E\V1c-rad LULAA
Mby Ouersfreci’ '
Tm (jivws ‘
gj)/VIOI/I  ‘
$030-4 “10u\J ‘
{NC /I/1a.V,,,,',q '
O”AKe So/ares
Skwm \<reyc}~e '

…not great.

I’不完全肯定出了什么问题。也许我应该让他们写下他们的学生编号。

更新:2016年2月5日

这里’另一个与不同的出勤表一起去。不太好。

img_3784_scanned.

I‘/\0,;/{¢r\(~  VETEK BROWN
E ? RICH/W} WLMC/(
“$2114!/~, lZoAr.‘%o Pratt.‘
D“""‘ 8'3"’ ' g/"It; /Vlar,//'/1
 Lolpef‘
kpdkl/n\‘f 2011/(IE
ANN <5©<J\M) Vfxit %'L0V\€z &}"-:5 _)_La/\/MAS _ Karm I>q'v‘-5
\Tou—o0l Hand _
'Dz\m/L ?\c\n'ksvvuu‘ev*
Ian I3/¢«'-Ckfia/If ¢
94% \5<<k*?l6<:x\.cLl¢ Jennifer BH995 N\o+‘\'V\c\.6 Luv\0\ . \/\0\\)y 0\,ers+reeJr ’\".m C"\\/Ens _ 51 m cm E 1: Y Jason May A ZPM > M
PIJW1 figu//
jam 5°0W'/J
34681 \4'€y¢}~¢>/

IMG_2366IAU会议大会的最后一天发现我谈到了 过境时间变化, 潮汐互动, 和 二进制星系中的行星.

第一次会议专注于过渡时序变异(TTV)研究的令人印象深刻的结果。由于检测和建模TTV是非常数据密集型的,因此谈判探索了 数据科学 TTV分析的方面。 本蒙特特‘例如,S谈话,看看首先要检测运输的速度如何,更少测量它们的期间变化。估计他们的变化的不确定性,他倡导使用 重要性抽样 并彻底地产生探索 现有分布.

下次会议查找二进制星系中的潮汐交互和行星。 Smadar Naoz谈到了她的工作 Kozai振荡她如何表明Kozai已经做出了一些相当具体的假设 那有限公司 他着名的动态分析 以重要的方式。她改进的分析表明,与原始结果相反,Kozai机制实际上可以生产行星 逆行轨道 所以可以帮助解释他越来越多的逆行行星.

我还在第二届会议上发言了关于罗氏叶片在短时间气态外延上的溢出,我’在下面发表了我的演讲。

所以,一切都是一个非常聪明的地区的聪明会议。马哈罗,夏威夷。

潮汐衰减和气体外产的破坏

作为项目的一部分,我’m试图学习如何在视频上进行运动捕获。幸运的是,那里’s Python支持 为了 OpenCV计算机视觉库.

我改编了一些 我在线找到的运动捕获代码 这是用来的 石截巴角探测器方案 找到良好的功能来追踪—灰度视频帧中的区域,具有两个正交方向的大衍生物。

然后代码估计 光流量 使用 Lucas-Kanade方法, 这适用于最小二乘拟合来解决角落特征的二维速度矢量。

作为一个测试用例,我使用了一拍的爱丽丝唱歌 “Ito Maki Maki” song.

视频中的闪亮曲目显示出最合适的模型。有趣的是,角落检测方案选择沿着眼睛和唇部的闪光追随。闪光后动作跟踪器在闪烁之后做得很好,直到她眨眼并摇摆着她的脸部。

我使用的代码在下面发布。

import numpy as np
import cv2
cap = cv2.VideoCapture('IMG_0986.mov')
size = (int(cap.get(cv2.cv.CV_CAP_PROP_FRAME_WIDTH)),
int(cap.get(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT)))

# params for ShiTomasi corner detection
feature_params = dict( maxCorners = 100,
qualityLevel = 0.3,
minDistance = 7,
blockSize = 7 )

# Parameters for lucas kanade optical flow
lk_params = dict( winSize = (15,15),
maxLevel = 2,
criteria = (cv2.TERM_CRITERIA_EPS | cv2.TERM_CRITERIA_COUNT, 10, 0.03))

# Create some random colors
color = np.random.randint(0,255,(100,3))

# Take first frame and find corners in it
ret, frame = cap.read()
old_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
p0 = cv2.goodFeaturesToTrack(old_gray, mask = None, **feature_params)

# Create a mask image for drawing purposes
mask = np.zeros_like(frame)

images = list()

height , width , layers = frame.shape

fourcc = cv2.cv.CV_FOURCC('m', 'p', '4', 'v')
video = cv2.VideoWriter()
success = video.open('Alice_singing.mp4v', fourcc, 15.0, size, True)

ret = True
while(ret):
  print(ret)

  frame_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

# calculate optical flow
  p1, st, err = cv2.calcOpticalFlowPyrLK(old_gray, frame_gray, p0, None, **lk_params)

# Select good points
  good_new = p1[st==1]
  good_old = p0[st==1]

# draw the tracks
  for i,(new,old) in enumerate(zip(good_new,good_old)):
    a,b = new.ravel()
    c,d = old.ravel()
    cv2.line(mask, (a,b),(c,d), color[i].tolist(), 2)
    cv2.circle(frame,(a,b),5,color[i].tolist(),-1)

  img = cv2.add(frame,mask)

  video.write(img)
  ret,frame = cap.read()

# Now update the previous frame and previous points
  old_gray = frame_gray.copy()
  p0 = good_new.reshape(-1,1,2)

cap.release()
video.release()
cv2.destroyAllWindows()

借助物理贾里德手,我们’在这里开始了一周的会议组 物理 讨论科学计算—博伊西国家Scicomp工作室。

会议在物理建筑,房间MP408中进行,并将专注于科学计算的细节—如何安装和运行各种代码和包。

We’VE为该组启动了GitHub存储库: //github.com/decaelus/BoiseState_SciComp_Workshomp.

我们将记录我们在相关维基上的会议: //github.com/decaelus/BoiseState_SciComp_Workshomp/wiki/Working-with-Git.

We’目前通过演示文稿 软件木工基金会 使用git: http://slides.com/abostroem/local_version_control#.

GitHub-octocat.我们在周五中午进行了第一个科学计算讨论小组会议。这些会议旨在使我们的学生熟悉科学计算应用程序以及如何管理和维护各种科学计算模块。我们开始了一个github存储库,我们’LL邮政说明和其他信息: //github.com/decaelus/BoiseState_PAC_Workshop.

与会者包括Liz Kandziolka,Emily Jensen,Jennifer Briggs,Ahn Hyung,Tiffany Watkins,Jesus Caloca和Helena Nikolai。贾里德手帮助讨论。 (向那些参加的人道歉但我没有’t record your name.)

再次尝试将我的脚趾浸入高级数据科学中,我决定尝试 高斯流程模块 in sci-kit learn. I’一直在使用气压数据进行研究 尘埃魔鬼,并且该工作涉及在速度慢慢变化的时间序列中发现短逢低。

原则上,高斯过程提供了一种模拟时间序列缓慢变化部分的方法。基本上,这样的分析假定噪声侵扰每个数据点取决于其他附近数据点的值。说这的技术方法是 协方差矩阵 对于数据流是非对角线的。

因此,我将一个数据文件加载到iPython笔记本中,并应用了SCI-套件学习高斯进程模块以建模背景振荡。这里’s the notebook.

在[32]中:
%matplotlib inline
#2015 Feb 15 -- A lot of this code was adapted from 
#  http://scikit-learn.org/stable/auto_examples/gaussian_process/plot_gp_regression.html.

import numpy as np
from sklearn.gaussian_process import GaussianProcess
from matplotlib import pyplot as pl
import seaborn as sns
import pandas as pd
sns.set(palette="Set2")

#from numpy import genfromtxt

我的_data = np.genfromtxt('Location-A_P28_DATA-003.CSV', delimiter=',', skip_header=7, usecols=(0, 1), names=['time', 'pressure'])

X = np.atleast_2d(np.array(我的_data['time'])[0:1000]).T
y = np.atleast_2d(np.array(我的_data['pressure'])[0:1000]).T
y -= np.median(y)

# Instanciate a Gaussian Process model
gp = GaussianProcess(theta0=1e-2, thetaL=abs(y[1]-y[0]), thetaU=np.std(y), nugget=1e-3)

# Fit to data using Maximum Likelihood Estimation of the parameters
gp.fit(X, y)

# Make the prediction on the meshed x-axis (ask for MSE as well)
y_pred, MSE = gp.predict(X, eval_MSE=True)
sigma = np.sqrt(MSE)

data = pd.DataFrame(dict(time=X[:,0], pres=y[:,0]))
sns.lmplot("time", "pres", data=data, color='red', fit_reg=False, size=10)

predicted_data = pd.DataFrame(dict(time=X[:,0], pres=y_pred[:,0]))
pl.plot(X, y_pred, color='blue')
气压时间序列。 HPA的压力,以及以秒为单位的时间。

气压时间序列。 HPA的压力,以及以秒为单位的时间。红点显示原始数据,蓝线与高斯过程的拟合。

不幸的是,时间序列有一些大的跳跃,并且这些慢慢改变高斯过程中的慢速描述。导致这些跳跃是一个很好的问题,但是对于这个小分析的目的,他们是一个麻烦的源泉。

可能需要追求其他一些技术。更不用说执行高斯进程分析所需的时间与数据点数的第三个电源,因此它会非常慢。