기본 콘텐츠로 건너뛰기

데이터 가공 및 분석 - dplyr 패키지 (2)

 계속해서 dplyr 패키지를 이용한 데이터 가공에 대해서 이야기해 보겠습니다. subset과 다른 dplyr의 추가 기능 중 하나는 변수를 가공해서 새로운 변수를 만들 수 있다는 것입니다. 예를 들어 몸무게와 키를 이용해 체질량 지수 (BMI)를 계산하거나 혹은 달러 표시와 원화 표시를 동시에 할 수 있습니다. mutate 기능을 사용한 것으로 여기서는 1달러당 1100원으로 원화를 표시해 보겠습니다.  mutate(price_kr=price*1100)%>%의 문법으로 앞에서 봤던 사용법과 크게 다르지 않습니다.  D1%>%   filter(cut=="Ideal")%>%  #Ideal 추출    select(carat,cut,color,clarity,price)%>% # 캐럿, 컷, 칼러, 채도, 가격 추출   mutate(price_kr=price*1100)%>% #원화표시 가격   arrange(carat) #오름차순 정렬 > D1%>% +   filter(cut=="Ideal")%>%  #Ideal 추출  +   select(carat,cut,color,clarity,price)%>% # 캐럿, 컷, 칼러, 채도, 가격 추출 +   mutate(price_kr=price*1100)%>% #원화표시 가격 +   arrange(carat) #오름차순 정렬 # A tibble: 18 x 6    carat cut   color clarity price price_kr              1  0.3  Ideal F    ...

GDDR6의 양산에 들어간 마이크론

(출처: 마이크론)   마이크론이 GDDR6의 양산이 시작됐다고 발표했습니다. 본래 목표인 2018년 상반기에 아슬아슬하게 맞춘 셈인데, 그보다 더 궁금한 것은 누구에게 납품했는지입니다. 가장 가능성 높은 대답은 GDDR의 가장 큰 고객인 그래픽 카드 제조사입니다. 현재 나와있는 GPU들은 GDDR6를 사용하지 않기 때문에 이를 구매한 그래픽 카드 제조사들은 새로운 GPU를 염두에 두고 있을 가능성이 큽니다. 하지만 반드시 이것이 차세대 GPU를 의미하는 건 아닐 수도 있습니다. 그냥 리프레시 버전일 가능성도 있기 때문이죠.  아무튼 마이크론이 공개한  8 Gb GDDR6 메모리 칩은 그래픽 카드를 위한 12Gbps 및 14Gbps 모델이 있으며 각각 칩당 48 GB/s와 56 GB/s의 대역폭을 지니고 있습니다. 16n 프리패치 X 32b의 GDDR5x 대신 두 개의 16n 프리패치 x 16b의 구조로 메모리 채널을 두 개로 늘려 속도를 조금 높인 구조의 GDDR6는 이론상 16Gbps의 속도가 가능합니다. 14Gbps 제품의 경우 384bit (칩 12개)로 최대 672GB/s의 대역폭을 유지할 수 있습니다. 좀 더 일반적인 경우인 256bit (칩 8개)sms 448GB/s의 대역폭 확보가 가능합니다.   아무튼 GDDR6 까지 진행하면서 GDDR의 발전도 점차 한계에 도달하는 것이 아닌가 하는 생각도 듭니다. 경쟁자라고 할 수 있는 HBM 계열 메모리의 경우 훨씬 높은 대역폭을 제공하는 것은 물론 아직 더 발전의 여지가 남아있어 앞으로 대세가 되지 않을까 생각합니다. 하지만 아직은 가격이 GDDR6 쪽이 훨씬 저렴합니다. 비용이라는 부분은 무시하기 어려운 측면이라 한동안 GDDR6가 더 살아남을 것은 분명해 보입니다. 그리고 아직도 대역폭을 높일 수 있는 여지가 있는 건 GDDR 역시 마찬가지죠.   ...

대형 수송기와 작전기를 위한 BriteCloud 기만체계

( The BriteCloud 55T is designed to protect large military transport aircraft(Credit: Leonardo Aerospace) )  적의 레이더와 센서를 속이는 방법에는 여러 가지가 있습니다. 레이더를 흡수 혹은 산란시키는 스텔스 기능에 더불어 재머를 포함한 다양한 기만체계가 존재하는데, 항공기와 비슷한 레이더 신호를 발생시키는 레이더 기만체 역시 여기에 속합니다. 현재 나와있는 전파 주파수 재밍 모듈  radio-frequency (RF) jamming module은 주로 전투기를 추적하는 레이더 유도 미사일을 기만하기 위한 것인데 레오나르도 에어로스페이스 Leonardo Aerospace사에서 최초로 수송기나 공중급유기처럼 대형 군용기를 위한 디코이를 선보였습니다.   BriteCloud 55-T는 본래 토네이도 전투기에 55mm 채프 플레어 컨테이너에 탑재하는 재밍 모듈로 음료수 캔보다 약간 큰 크기이면서 전투기와 비슷한 신호를 만들어 미사일과 레이더를 기만하는 장치입니다. 하지만 전투기보다 훨씬 큰 반사 면적을 지닌 C27-J, C-130, KC-390, A400M 같은 중대형 수송기와 공중 급유기를 보호하기 위한 디코이를 만드는 일은 만만치 않은 과제입니다. 레오나르도 에어로스페이스는 업계 최초로 이에 성공했다고 주장하고 있으며 내년에 이 제품을 출시할 계획입니다. 아직 이를 채택한 국가는 없으나 성능만 만족시키면 서방측의 다양한 중대형 항공기에 도입될 것으로 보입니다.  (동영상)   사실 대형 항공기의 경우 전투기처럼 빠르게 회피 기동을 할 수도 없고 스텔스 기능을 갖추기에는 비용이 너무 많이 들거나 형상 자체가 어려운 경우가 많기 때문에 제대로 성능만 보여주면 BriteCloud 55-T의 미래는 밝다고 할 수 있습니다. 다만 스텔스 기술의 발전...

뇌파로 오류를 바로 잡는 로봇

( The system works on anyone, requiring no special setup for individual users(Credit: Joseph Del Preto, MIT CSAIL) )  MIT의 연구자들이 근육 신호와 뇌파만으로 로봇에게 작업을 지시할 수 있는 기술을 선보였습니다. 조이스틱이나 버튼 없이 단순한 명령 지시를 통해 로봇에게 작업을 시킬 수 있다면 로봇의 쓰임새가 더 많아질 수 있습니다. 따라서 음성 인식이나 동작 인식 기술이 최근 빠르게 발전하고 있지만 뇌파를 같이 이용하는 것은 새로운 시도입니다.   물론 뇌파를 이용해서 사지마비 환자에서 로봇이나 컴퓨터를 조작하는 연구 역시 진행 중이지만, MIT팀의 접근은 이를 보조 시스템으로 활용한다는 부분이 독특합니다. 팔과 손의 움직임을 인식해 작업을 수행할 경우 로봇이 아니라 사람이라도 정확한 의도를 파악하기 어려울 수 있는데 뇌파가 이 빈틈을 메꾸는 것입니다.  (동영상)   여기서 흥미로운 사실은 뇌파가 매우 빠르게 반응한다는 점입니다. 연구팀에 의하면 우리가 잘못을 인지하는 순간 거의 무의식적으로 뇌파가 변한다고 합니다. error-related potential (ErrP)라는 뇌파 신호를 인지하면 로봇은 바로 뭔가 잘못하고 있다고 보고 작업을 중단하게 됩니다. 이는 사람이 손짓이나 음성으로 지시하는 것보다 훨씬 빠릅니다.   뇌파를 감지해 사람의 의도대로 움직이는 로봇은 SF 영화의 단골 소재입니다. 하지만 뇌파 신호는 우리 의도대로 조절이 어려운데다 신호 해석도 어려워 아직은 실험 단계를 벗어나지 못하고 있습니다. 하지만 보조적인 용도라면 돌파구를 찾을 수 있을지도 모릅니다. 물론 실용화를 위해서는 상당히 부피가 크고 착용이 불편한 뇌파 측정 장치를 개선해야 할 것 같습니다.   참고  ...

공룡 혀는 어떻게 생겼을까?

( Reconstructions of dinosaurs at museums and theme parks often show their tongues wildly waving--a feature that is incorrect, according to new research led by The University of Texas at Austin and the Chinese Academy of Sciences. Credit: Spencer Wright ) ( Tongue and hyoid reconstructions from living taxa. Credit: Li et al. 2018 ) ( Incredible fossils discovered in Northeast China with the hyoid bones preserved. The blue and green arrows are pointing to the hyoid apparatus. Credit: Li et al. 2018 )  공룡 영화의 트레이드 마크 중 하나는 거대한 입을 벌리고 포효하는 육식 공룡입니다. 대개 이 경우 큰 효과음과 함께 큰 이빨과 혀를 내미는 듯한 모습으로 묘사됩니다. 이 부분은 복원도도 비슷하지만 깃털이 있다는 점이 가장 큰 차이점입니다.   그런데 이빨은 화석으로 잘 보존되기 때문에 복원에 무리가 없지만, 혀 같은 연조직은 사실 온전히 보존되기 어렵습니다. 따라서 복원도나 영화 모두에서 공룡 혀의 묘사는 대부분 도마뱀같은 과거 공룡의 이미지에서 따온 것입니다.   텍사스 대학과 중국 과학원의 과학자들은 공룡 및 현생 근연종인 조류와 악어 등의 설골 hyoid bone 을 비교 분석해 공룡의 혀가 어떤 형태와 기능을 했는지를 연구했습니다. 설골은 약하고 가느다란 뼈지만, 조류, 포유류, 파충류, 공룡, 익룡 같이 매우 다양한 동물에서 볼 수 있는 필수적인 뼈입...

남극 동부 빙상 지반이 빠르게 상승하고 있다.

( Antarctica, as seen using Google Earth, and a cut to show the interior of the earth, where the mantle (red and dark red) and the core (yellow) are visible. The Amundsen Sea Embayment is indicated by the red rectangle. On the right, a photo reveals one of the GPS sites in the study. Credit: VR. Barletta, DTU Space at the Technical University of Denmark/Google Earth/Terry Wilson, The Ohio State University )  과학자들이 남극 동부 지반이 예상보다 더 빠르게 상승하고 있다는 증거를 발견했습니다. 땅이 솓아오른다는 이야기는 농담처럼 들릴 수도 있지만, 사실 우리가 지금 보고 있는 지형은 지반의 융기와 침식을 통해 형성된 것입니다. 따라서 지반이 올라온다는 점 자체는 놀랄 일이 아니지만, 문제는 그 이유입니다.   남극 대륙의 상당 부분은 수천 미터 두께의 얼음의 무게 때문에 지반이 아래로 내려가 있는 상태입니다. 대륙 지각 자체도 맨틀 위로 올라온 섬 같은 구조이기 때문에 그 위에 무거운 물체가 있으면 당연히 아래로 눌리게 됩니다. 하지만 이 그 얼음이 녹으면서 지반이 위로 올라오고 있습니다. 앞서 소개한 것처럼 이는 남극뿐 아니라 다른 지역에서도 확인된 사실입니다.   따라서 남극 동부 빙하가 소실된 만큼 지반 역시 상승할 것입니다. 역으로 지반 상승 속도를 측정해서 질량 소실 정도를 파악할 수 있습니다. 오하이오 주립대학의 연구팀은 POLENET-ANET array의 일부인 6개의 GPS 관측소 데이터를 이용해 연간 평균 상승 속도가 예상보다 빠른 41mm/ye...

데이터 가공 및 분석 - dplyr 패키지 (1)

 최근 시중에 R을 이용한 데이터 분석을 다루는 서적들이 많이 나오고 있습니다. 보통 이 서적들에서 가장 많이 다루는 패키지 가운데 하나가 바로  dplyr 입니다. 데이터를 가공하고 기본 분석 작업을 수행하는데 가장 편리한 패키지 중 하나이기 때문입니다. 물론 R의 기본 기능을 이용해서 다양한 작업을 할 수 있지만, 이렇게 널리 사용되는 패키지가 별도로 있는 건 그만큼 편리한 부분이 있기 때문입니다. 단순 선형회귀 다음에 다중 선형회귀에 대해서 설명하는 것이 순서이지만, 그전에 편리한 데이터 가공을 위해 dplyr 패키지의 기능에 대해서 설명하는 과정이 필요할 것 같습니다.   우리가 직접 데이터를 생성하든지 아니면 기존에 있는 데이터를 생성하든지 간에 분석을 위해서는 데이터를 가공하고 정제하는 과정이 필요합니다. 특히 이 과정은 데이터의 크기가 크고 복잡할수록 더 중요합니다. 예를 들어 관측값이 10만개 이상이고 변수도 수백가지 이상이라면 한번에 파악하기 어렵고 분석 목적에 따라 일부만 추출해야 하는 일이 흔합니다. 여기서는 단순한 예제를 위해 다이아몬드 자료에서 앞서에서처럼 50개를 추출해 어떻게 하는 지 예를 들어 보겠습니다.   dplyr 패키지의 가장 기본 기능인 filter는 subset과 비슷한 기능을 합니다. 원하는 조건에 따라 값을 추출해 새로운 보여주는 것입니다. 물론 subset과 동일하게 조건에 맞는 새로운 데이터를 만들 수 있습니다. 우선 패키지를 설치한 후 cut이 Ideal인 값을 뽑아보겠습니다.  install.packages("dplyr") library("dplyr") library("ggplot2") set.seed(3311) diamonds1 D1 D1 D1%>%filter(cut=="Ideal") > D1%>%filter(cut=="Ideal...