-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup_reproducible.qmd
189 lines (143 loc) · 12.8 KB
/
setup_reproducible.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
---
editor:
markdown:
wrap: 72
---
# 과학기술 위기
**재현가능 연구(reproducible research)**는 다른 연구자들이 동일한 데이터와 과정을 통해 원래 연구 결과를 재현할 수 있게 하는 것을 목표로 한다.
이를 위해서 독립적인 과학기술 연구자들이 같은 조건, 재료, 절차를
사용해 원래 연구 결과를 재현하거나 재창조하고 일관된 결과를 얻어야
한다. 연구와 관련된 모든 데이터, 문서, 코드, 작업흐름은 철저히
문서화되어 있어야 하며, 문서를 통해 다른 연구자들이 연구를 재현할 수
있어야만 된다. 따라서, 연구 참여자들은 자신(미래의 본인 포함)과 타 연구자들을 위해 자세하고 구체적인 문서를 작성하는 것이 필요하다. 과학기술 연구 과정에서 이루어진 모든 단계는 다른 연구자가 이해할 수 있고, 컴퓨터가 실행할 수 있는 형태로
명확히 기술되어야 한다.[@carpentries2024rr] [^rr] \index{재현가능 연구}
[^rr]: [The Carpentries](https://carpentries.org/)에서 인큐베이션하고 있는 [RStudio를 사용한 재현가능한 출판 소개(Introduction to Reproducible Publications with RStudio)](https://ucsbcarpentry.github.io/Reproducible-Publications-with-RStudio-Quarto/)를 번역하여 작성되었다.
## 무서운 일화
과학기술 연구자들이 국가 예산을 받아 밤낮으로 연구하여 훌륭한 결과를
얻게 되어 유명한 저널에 논문을 제출했다. 심사 과정에서 심사자들이 새로운
그래프와 연관된 추가 분석을 요구했다. 연구자들은 심사자들 의견을
반영하여 수정 작업에 들어가 새로운 그래프를 만들었지만, 이전 그래프와
일관성이 없다는 것을 파악하게 되었고, 더 문제가 되는 것은, 원래 결과를 만들
때 사용했던 일부 데이터를 유실했을 뿐만 아니라, 분석에 사용된 핵심 변수도
기억나지 않는다는 것이다. 그렇게 원고는 서랍 속에 방치된 채로 현재까지
남아 있다. \index{일화}
![Jorge Cham 원작 PhD Comics
1869](images/rr_comics.jpg){#fig-comics-1869}
[미국 국립과학재단(NSF)](https://www.nsf.gov/sbe/AC_Materials/SBE_Robust_and_Reliable_Research_Report.pdf) 과학분야 복제 가능성(replicability) 소위(2015)에 따르면, 과학은 출판된 문헌형태로 중요한 역할이 기대되는 발견에 대해 재현가능성을
정기적으로 평가해야 한다. 재현을 가능하고(possible), 효율적(efficient), 유익하게(infromative) 만들기 위해, 연구자들은 데이터 수집, 관찰한 결과를 분석 가능한 데이터로 변환,데이터 분석에 사용된 절차 세부사항을 충분히 문서화해야만 한다. \index{국립과학재단} \index{복제 가능성}
재현성은 원래 연구자가 동일한 재료를 사용하여 이전 연구 결과를 복제할 수
있는 능력으로 볼 수 있다. 다시 말해, 다른 연구자가 원본 데이터와 동일한
분석 파일을 사용하고 같은 통계 분석을 수행하여 동일한 결과를 도출할 수
있어야 한다. 재현성은 과학적 발견이 엄격하고 신뢰할 수 있으며 유익한
것으로 간주되기 위한 최소한의 필요 조건이다.\index{재현성}
## 재현 불가능한 연구 문제
최근 몇 년 사이, 많은 과학연구에서 재현이 어렵다는 사실이 밝혀지면서 이
문제가 점점 더 큰 관심을 끌고 있다. 실제로, 2016년 '네이처'에서 실시한
설문 조사 결과에 따르면, 모든 과학 영역에서 재현 불가능한 실험이 주요한
문제로 지적되고 있다.[@Baker2016] \index{네이처}
![과학자 1,500명이 재현성 뚜껑을 열었다.](images/rr-survey.png){#fig-rr-survey}
::: callout-note
### 재현 불가능한 R&D 연구 원인
- 실험 수행방법과 데이터 생성 과정에 대한 상세한 문서화 부족
- 연구에서 원래 결과를 도출하기 위해 사용된 데이터에 접근 불가능.
- 결과를 만들어낸 원본 소프트웨어 접근 불가능.
- 원본 결과를 생성할 때 사용된 소프트웨어 환경(예: 패키지, 버전) 재현
어려움.
:::
## 재현성, 복제성, 강건성, 일반화
**재현성(reproducibility)**은 최소한의 요구 사항으로, "충분히 좋은" 컴퓨팅
방식으로 해결될 수 있다. 하지만, 과학적 발견에 대한
복제성(replicability)/강건성(robustness)/일반화(generalizability)는 연구
부정 행위, 의심스러운 연구 관행(p-해킹[^p-hacking], HARKing[^HARKing], 선별 취사[^Cherry]), 부주의한
방법론, 기타 의식적 또는 무의식적 편향을 포함하여 더 큰 우려사항이다.
\index{재현성} \index{복제성} \index{강건성} \index{일반화}
\index{p-해킹} \index{HARKing} \index{선별 취사} \index{cherry picking}
[^p-hacking]: p-해킹(p-hacking)은 연구자가 데이터를 여러번 분석하여 우연히 유의미한 결과를 얻는 행위를 의미한다. 예를 들어, 연구자가 많은 다양한 통계적 검증을 시도하고 그 중에서만 유의미한 결과를 보고하는 것이 해당된다.
[^HARKing]: HARKing (Hypothesizing After the Results are Known, 결과를 알고 난 후 가설 설정)은 연구자가 데이터를 분석한 후 결과를 보고 나서야 가설을 세우는 것을 말한다.
[^Cherry]: Cherry-picking (체리피킹)은 연구자가 자신의 주장이나 이론을 지지하는 데이터만 선택적으로 사용하고, 반대되는 데이터는 무시하는 행위를 지칭한다.
![재현성(reproducibility), 복제성(replicability), 강건성(robustness),
일반화(generalizability)](images/reproducible-definition-grid.png){#fig-rr-grid
fig-align="center"}
- **재현성(reproducibility)**: 동일한 데이터에 동일한 분석 단계를 수행했을
때 일관되게 같은 답이 나오면 그 결과는 재현 가능한 것으로 간주한다.
- **복제성(replicability)**: 서로 다른 데이터에 동일한 분석을 수행했을 때
유사한 결과을 얻을 수 있다면, 그 결과는 복제성이 있는 것으로
간주한다.
- **강건성(robustness)**: 동일한 데이터을 다른 분석 절차(예를 들어, R
파이프라인과 Python 파이프라인)에 적용하여
같은 연구 질문에 대한 유사하거나 동일한 답을 얻을 수 있다면, 그
결과는 견고한 것으로 간주한다. 견고한 결과는 작업이 특정 프로그래밍
언어의 특수성에 의존하지 않는다는 것을 반증한다.
- **일반화(generalizability)**: 복제성과 강건함 결합함으로써
일반화된 결과를 도출할 수 있다. 다른 소프트웨어 구현과 다른
데이터셋을 사용한 분석이 일반화된 결과를 제공하지 않는다는 점에
유의한다. 연구 질문의 다양한 측면에 대해 작업이 얼마나 잘
적용되는지를 알기 위해서 훨씬 더 많은 단계를 필요로 한다. 일반화는
결과가 특정 데이터나 분석 파이프라인 버전에 의존하지 않는다는 것을
이해하는 데 중요한 단계다.
만약 그동안의 논의가 충분히 설득력이 없다고 느껴진다면, 마코베츠[@Markowetz2015]가 제시한 '재현가능한 작업을 해야 하는 이기적인 이유' 다섯 가지를 참고할 수 있다.
1. 데이터 손실과 재난을 막는데 도움이 된다.
2. 논문 작성 과정이 훨씬 수월하다.
3. 심사자들이 연구자의 관점을 이해하도록 도움을 준다.
4. 연구의 지속성을 높여준다.
5. 명성을 구축하는 데 도움이 된다.
## 재현성 구현 시점
재현성과 투명성이 본인 이익에 부합한다고 가정해 보자. 그렇다면 재현성을 고민해야되는 가장 좋은 시기는 언제일까? \index{재현성} \index{투명성} \index{재현성 구현시점}
정답은 연구 생명주기 전체를 통틀어 첫날부터다! 프로젝트를 시작하기 전에 R, 파이썬, Git 같은 도구를 배워야 할 수도 있다. 분석을 하는 동안 너무 오래 방치한다면, 두 달 전에 무엇을 했는지 기억을 되살리는데 시간을 많이 낭비하게 된다. 논문을 작성할 때는 갱신된 숫자, 표, 그림도 필요하다. 논문의 공동 저자로 참여할 때 본인 이름이 들어간 논문에 제시된 분석이 제대로 구현되었는지 확인하고 싶기도 하고, 논문을 심사할 때는 저자들이 결론에 이르는 과정을 모르면 저자들이 제시한 결과에 대해 제대로 된 판단을 내릴 수도 없다.
알렉산더[@alexander2023telling]는 더 나은 재현성을 향한 3단계를 다음 같이 제안하고 있다.
1. 전체 작업흐름이 문서화 되어 있는지 확인한다.
- 원시 데이터는 어떻게 얻었으며, 다른 사람들이 지속적으로 접근할 수 있는가?
- 원시 데이터를 분석된 데이터로 변환하기 위해 어떤 구체적인 단계를 밟았으며, 다른 사람들과 공유하는 방법은 있는가?
- 어떤 분석이 이루어졌으며, 어떤 코드/스크립트가 사용되었으며, 공유하는 방법은 무엇인가?
- 최종 논문이나 보고서는 어떻게 작성되었으며, 제3자가 과정을 어느 정도 따라할 수 있는가?
1. 다음 요구 사항을 점진적으로 달성하려고 노력한다.
- 전체 작업흐름을 다시 실행할 수 있는가?
- 제3자가 전체 작업흐름을 다시 실행할 수 있는가?
- "미래의 본인"이 전체 작업흐름을 다시 실행할 수 있는가?
- "미래의 제3자"가 전체 워크플로우를 다시 실행할 수 있는가?
1. 최종 논문이나 보고서에서 데이터, 방법, 작업흐름 한계에 대한 논의를 포함한다.
:::{.callout-note}
### 재현성 피라미드
디지털로 구현되는 논문은 컴퓨터 환경, 코드, 데이터, 문서화, 논문/보고서로 구성되며, 이들은 재현가능한 연구의 다양한 측면을 나타낸다. 이러한 요소들은 모여 피라미드 구조를 이루며, 게재된 논문은 이 피라미드의 꼭대기에 해당된다. 재현가능한 논문/보고서는 각 단계의 재현성에 기여함으로써 연구의 신뢰성과 투명성을 높이는 데 중요한 역할을 합니다.
\index{재현성 피라미드} \index{환경} \index{코드} \index{데이터} \index{문서}
\index{논문} \index{보고서}
![재현성 피라미드](images/rr-pyramid.png){#fig-rr-pyramid}
:::
## 연습문제 {.unnumbered}
### 객관식 {.unnumbered}
1. 재현 가능한 연구의 목표는 무엇인가?
a) 동일한 데이터와 분석으로 결과를 재현
b) 새로운 데이터로 다른 결과를 얻기
c) 실험 조건을 변경하여 다른 결과 확인
d) 데이터 없이 이론만으로 결과 예측
::: {.content-visible when-format="revealjs"}
정답: a) 동일한 데이터와 분석으로 결과를 재현
설명: 재현 가능한 연구는 다른 연구자들이 동일한 데이터와 과정을 사용해 원래의 연구 결과를 재현할 수 있도록 하는 것이 목표다.
:::
2. 재현성, 복제성, 견고함, 일반화 중 연구의 최소한의 요구 사항은 무엇인가?
a) 복제성
b) 견고함
c) 일반화
d) 재현성
::: {.content-visible when-format="revealjs"}
정답: d) 재현성
설명: 재현성은 과학적 발견이 엄격하고 신뢰할 수 있으며 유익한 것으로 간주되기 위한 최소한의 필요 조건이다.
:::
3. 재현 불가능한 연구의 주요 원인 중 하나는 무엇인가?
a) 데이터와 실험 방법의 충분한 문서화 부족
b) 너무 많은 데이터 수집
c) 실험 도구의 고장
d) 연구자의 전문성 부족
::: {.content-visible when-format="revealjs"}
정답: a) 데이터와 실험 방법의 충분한 문서화 부족
설명: 실험 수행 방법과 데이터 생성 과정에 대한 상세한 문서화가 부족한 경우 연구 결과를 재현하기 어렵다.
:::
### 서술형 {.unnumbered}
1. 연구에서 재현성을 확보하기 위해 연구자들이 취해야 할 조치들에 대해 설명해보세요.
::: {.content-visible when-format="revealjs"}
정답 및 설명: 연구자들은 데이터 수집, 관찰 결과의 데이터 변환, 데이터 분석 절차 등을 충분히 문서화해야 한다. 또한, 연구 과정의 모든 단계를 명확하고 이해하기 쉬운 형태로 기술해야 한다.
:::
2. 과학기술 연구에서 재현성을 높이는 데 중요한 역할을 하는 요소들은 무엇이 있을까요?
::: {.content-visible when-format="revealjs"}
정답 및 설명: 과학기술 연구에서 재현성을 높이는 데는 데이터의 정확한 기록, 실험 절차의 명확한 설명, 사용된 소프트웨어와 그 환경의 상세한 기술, 그리고 연구 결과의 투명한 보고가 중요하다.
:::