Waters에서는 생물공정 연구실의 과학자 및 엔지니어들과 이야기를 나누며, 생물공정 개발에 대한 통찰력을 얻기 위해 고급 분석 기술을 활용하는 데 관심을 표명했습니다. 그들이 제기한 가장 큰 어려움은 데이터를 수집하고 고급 분석 기술을 통해 통찰력을 얻는 데 걸리는 시간이었습니다. 생물공정에 대해 이야기할 때, 저희는 업스트림 생물공정에 중점을 두고 있으며, 많은 분들이 해당 분야에 대해 잘 모르실 수 있다는 점을 인지하고 있습니다. 저희가 이야기하는 연구실의 종류와 샘플을 생성하는 활동을 보여주는 사진을 몇 장 준비했습니다.
실험실 유형은 상류 생물공정 개발 실험실과 클론 선택 실험실로 나뉘는데, 일반적으로 왼쪽 상단 사진에 보이는 자동 생물반응기나 벤치탑 생물반응기를 사용합니다. 용량은 2리터에서 5리터 정도인 경우도 있습니다. 이러한 실험을 담당하는 생물공정 엔지니어의 하루는 바로 실험이 진행되는 시간입니다. 일반적으로 실험 기간은 약 2주 정도이며, 매일 아침 현장에 와서 사진에서 보시는 것처럼 생물반응기에서 샘플을 채취한 후 분석을 수행합니다.
pH, 금속 이온 등과 같은 기본적인 화학 분석과 같은 일상적인 분석의 경우, 생물공정 엔지니어가 직접 즉시 수행합니다. 하지만 고급 분석은 일반적으로 핵심 분석 실험실로 보내집니다. 게다가 앞서 언급했듯이 결과와 데이터를 받기까지 몇 주가 걸리는 경우도 있습니다. 이는 새로운 실험을 설계하는 주기와는 맞지 않습니다.
Waters에서 저희가 하려는 것은 프로세스 엔지니어가 세포 배양 중에 직접 고급 분석을 수행할 수 있도록 하는 것입니다. 이를 통해 엔지니어는 데이터에서 얻은 통찰력을 활용하여 다음 실험을 설계하고 그로부터 이점을 얻을 수 있습니다. Waters에서는 분석 전문가가 아닌 엔지니어, 화학자 등도 사용할 수 있는 새로운 LCMS 시스템을 개발해 왔습니다. 특히 생물공정 연구실에 적합하다고 생각되는 시스템은 BioAccord LC-MS 시스템으로, 분석 전문가가 아닌 사람도 사용할 수 있습니다.
이제 생물공정 실험실에서 그렇게 한다면, 실험 과정에서 무슨 일이 일어나고 있는지 훨씬 더 포괄적인 그림을 얻을 수 있다는 장점이 있습니다. 일상적인 화학 실험과 세포 측정 외에도, 생물반응기에서 세포 내부에서 일어나는 일, 즉 무엇을 많이 소비하고 무엇을 적게 소비하는지, 어떤 대사산물과 부산물을 생성하는지, 그리고 세포 배양 과정에서 생성되는 생성물과 품질에 대한 더 많은 정보를 얻을 수 있습니다.
그들은 많은 추가 데이터를 확보할 수 있을 것이며, 우리는 그것들이 매우 가치 있다고 생각합니다. 하지만 단점은 그들이 사용하는 도구가 다양할수록, 사용하는 방법도 다양할수록, 그 데이터에서 통찰력을 얻기 전에 정리하고 집계해야 할 데이터가 더 많아진다는 것입니다. 저는 CSL의 동료에게 이 내용을 전달합니다.
안녕하세요, 저는 Lalit입니다. CSL Seqirus의 일원이며, 상류팀에서 과학자로 일하고 있습니다. BioAccord 사용자로서 제 경험을 공유하고 싶습니다. CSL에서는 데이터 기반 접근 방식 또는 DoE 기반 접근 방식을 사용하여 실험을 수행합니다. 주로 Amber 15와 Amber 250을 사용하는 두 가지 고처리량 장비입니다. Amber 15는 15ml의 작업 용량을 가진 48개의 바이오리액터를 갖추고 있습니다. Amber 250은 200ml의 작업 용량을 가진 24개의 반응기를 갖추고 있습니다. DoE 설계를 통해 많은 데이터를 생성하고 BioAccord LC-MS를 통해 데이터를 제공합니다. 이 장비는 라이브러리에서 200개 이상의 성분을 검출할 수 있어 성분을 식별하고 정량화하는 데 매우 편리합니다. 따라서 다른 장비를 사용하지 않아도 됩니다.
동시에 BioAccord LC-MS를 사용하여 얻는 데이터 양은 상당히 까다로울 수 있습니다. 매우 유용하며 모든 데이터를 볼 수 있지만 볼륨을 추론하기가 매우 어렵습니다. 바로 이 부분에서 Waters JMP 추가 기능이 매우 유용합니다. 추가 기능을 통해 데이터를 피팅하고 경로를 기반으로 대사체를 분리하는 데 매우 유용합니다. 이를 통해 각 구성 요소를 더 쉽게 살펴보고 DoE 프로세스 매개 변수와 연결하여 프로세스를 더욱 개선하거나 최적화하는 데 사용할 수 있습니다. 일반적으로 BioAccord LC-MS와 JMP Waters 추가 기능의 가치를 살펴보면 상류 과학자와 관련하여 매우 유용합니다.
JMP 동료들이 여러분께 보여드릴 데이터 시각화 및 분석은 여기에서 간략하게 설명한 실험을 통해 생성되었습니다. 세포 배양 실험은 앞서 사진을 보여드린 Amber 250 시스템에서 수행되었습니다. 8웨이 시스템, 즉 8개의 서로 다른 생물반응기를 사용했으며, 14일간의 연구 기간 동안 매일 아침 각 생물반응기에서 샘플을 채취하여 Nova BioProfile FLEX2 시스템과 BioAccord LC-MS 시스템에서 분석했습니다.
실험 설계는 매우 간단했습니다. 가스 살포 속도, 공기 오버레이 속도, 그리고 완충액 농도를 변화시키는 것이었습니다. 각 바이오리액터의 바이오리액터 구조는 동일했으며, 살포 오버레이와 완충액만 변경되었습니다. Amber 250 시스템에는 온라인 온도 가스 및 pH 센서가 내장되어 있습니다. FLEX2 시스템은 세포 수, 세포 생존율, 암모니아, pH 등을 측정하는 데 사용됩니다. BioAccord 시스템은 역가 측정에 사용되었으며, 역가 측정의 표준 방법은 단백질 A 크로마토그래피입니다. 응집체, 즉 고분자량 불순물과 저분자량 불순물이 모두 포함됩니다.
글리코프로파일, 즉 세포 배양 실험 중에 어떤 글리코폼이 생성되는지 관찰했습니다. 단일클론 항체를 발현하도록 조작된 CHO 세포주라고 해야겠네요. 그 항체에는 다양한 글리코폼이 있는데, 이는 매우 중요한 품질 특성이 될 것입니다. 그리고 소진된 배지, 즉 세포 주변을 둘러싼 배지에는 세포에서 배출된 영양소와 대사산물이 들어 있습니다. 우리는 여기서 아미노산, 비타민, TCA 대사산물(크렙스 회로 대사산물)과 다른 대사 경로 대사산물 등을 측정합니다. JMP 동료들이 이 데이터를 분석하고 시각화하는 과정을 보여드리겠습니다.
데이터 분석과 데이터 시각화를 용이하게 하기 위해 JMP 동료들의 도움을 받아 마켓플레이스에서 이용 가능한 JMP용 바이오프로세스 모니터 애드인을 개발했습니다. 이 애드인을 사용하면 여러 분석기에서 데이터 파일을 가져올 수 있으며, 메타데이터를 자동으로 추가하고 데이터를 정리한 후 하나의 테이블로 집계하여 시각화를 생성합니다.
이 애드인은 막대 차트 형식과 선형 계열 차트 형식으로 시각화를 생성하여 시작할 수 있도록 도와줍니다. 다변량 분석을 위한 준비를 위해 마지막으로 MVA 테이블을 생성하는데, 이 테이블은 분석 물질당 하나의 열로 구성된 MVA 분석에 더 적합하도록 재구성됩니다. 네, 이제 JMP 동료에게 넘겨드리겠습니다.
팻, 고마워요. 저는 그렉 플렉스먼입니다. JMP 시스템 엔지니어이며, JMP 구동 과정을 살펴보는 과정을 시작하려고 합니다. Waters Biopress 프로세스 모니터는 JMP 마켓플레이스에서 다운로드할 수 있으며, 데이터를 가져오고 파일을 만드는 단계를 안내하는 PDF 문서가 포함되어 있습니다. 팻이 매우 유용한 영상을 제작했는데, 중간 과정에서 다시 살펴보겠습니다.
모든 데이터를 가져오면 일련의 보고서가 제공됩니다. 막대 그래프 형식이나 선 형식을 원하시면 둘 다 사용 가능합니다. 8개의 바이오리액터를 사용하는 DoE(실험실 실험)를 통해 BioAccord가 측정할 수 있는 분석 물질의 범위가 실제로 드러나기 시작하는 부분입니다. 모든 시점의 역가뿐만 아니라 세포 생산성에 영향을 미치는 모든 요소를 확인할 수 있습니다.
주요 세포뿐만 아니라 조각과 응집체도 볼 수 있습니다. 다양한 순환, DNA 합성, 당화혈색소 등을 모두 볼 수 있습니다. 데이터를 탐색하는 데 정말 유용합니다. 계속 진행해 보시면 아시겠지만, 데이터 형식이 꽤 길었습니다. 잠깐 살펴보겠습니다. 12,000개의 행과 훨씬 적은 열로 구성된 이 데이터는 마치 LIMS 데이터베이스처럼 보입니다. 다양한 분석 물질을 측정하고 그 값을 긴 표에 표시하고 있습니다.
이 추가 기능은 다변량 분석이라고 하는 광범위한 표도 생성합니다. 스크립트는 기본적으로 이 표로 끝납니다. 이를 통해 산점도를 만들 수 있는데, 예를 들어 대사 스트레스별 역가를 살펴보고 데이터에 존재하는 관계들을 탐색할 수 있습니다. 이는 추가 분석을 위한 매우 유용한 시작점이기도 합니다.
이 넓은 표로 시작하겠습니다. 이전에 이 표를 좀 더 발전시켜 수식 열을 몇 개 추가했습니다. 이제 그래프를 그려 보겠습니다. 시간 경과에 따른 역가를 살펴볼 수도 있습니다. 다시 말씀드리지만, 바로 이 부분에서 이러한 관계를 이해하려고 합니다. 증분 역가에 대한 계산된 값을 만들었습니다. 이는 일일 성장률의 일부이므로 일부는 80%까지 성장하는 것을 볼 수 있고, 나중에는 약 10%, 하루 1.1주기로 성장하는 것을 볼 수 있습니다.
7일차에 큰 변화가 있었어요. 잠깐, 웃으시라고 초기 단계와 후기 단계를 구분해 볼게요. 그리고 이 모든 시점의 평균을 내서 시간당 상대적 역가 증가량을 계산해 볼게요. 예를 들어, 저희 바이오리액터 중 가장 성능이 좋지 않았던 바이오리액터가 초기 단계에서는 다른 바이오리액터보다 훨씬 낮았고, 후기 단계에서도 마찬가지였습니다.
가장 좋은 성적을 거두었던 세포는 초기에 꽤 잘 성장한 것을 볼 수 있습니다. 바로 그 부분이 그 증거죠. 그 후, 후반부에는 중간쯤에 위치했지만, 이 V7은 꽤 흥미롭습니다. 초반에는 매우 강세를 보이다가 후반부로 떨어졌습니다. 만약 세포들이 계속 생산할 수 있는 적절한 조건이 갖춰졌다면 잠재력은 어땠을지 궁금합니다.
JMP는 이러한 다양한 공정 조건을 이해하는 데 필요한 여러 도구를 제공합니다. Y축 적합도 분석도 가능하지만, 매개변수가 너무 많습니다. 반응 스크리닝이라는 스크리닝 도구를 적용해 보겠습니다. 먼저 이 도구의 기반이 되는 요소를 보여드리고, 그 분석 플랫폼을 호출해 보겠습니다. Y축 적합도를 많이 적용한다면, 초기와 후기에 이변수가 있는 두 가지 변수만 있습니다. 이소시트르산은 초기에 매우 강한 r 제곱을 보이며, 초기에는 유의수준이 매우 높지만 후기에는 유의수준이 낮아집니다.
후기 단계에서 매우 강하고, 후기 단계에서는 통계적 유의성이 매우 강하지만, 초기 단계에서는 그렇지 않은 다른 니코틴아마이드도 살펴볼 수 있습니다. r 제곱과 p 값을 통해 관계의 강도(r)에 대해 많은 것을 알 수 있습니다. 이 많은 매개변수의 영향력을 이해하려는 경우, 이는 매우 유용할 것입니다. 이제 이 반응 스크리닝 플랫폼을 실행하고, 이 중 많은 매개변수에 대한 r 제곱과 p 값을 살펴보겠습니다. 이렇게 많은 비교를 하다 보면 잘못된 결과가 나올 것으로 예상됩니다.
영어: False Discovery Rate라는 조정이 있습니다. False Discovery Rate p 값이 있습니다. 이러한 p 값은 작은 숫자에서는 보기 매우 어렵기 때문에 로그 값을 보는 것이 편리합니다. 따라서 로그를 취하면 매우 쉽게 볼 수 있습니다. 0.05는 2로 변환됩니다. 가장 중요한 것의 경계를 볼 수 있습니다. 초기의 등구연산이 있고 후기의 경우도 볼 수 있습니다. 초기와 후기의 순위가 다르다는 것을 알 수 있습니다. 이제 평행 플롯을 준비할 것입니다. 스크립트를 사용하여 이를 수행하지만 힌트를 주기 위해 결합된 데이터 테이블을 만든 다음 분할 작업을 수행했습니다. 자, 여기 우리가 얻은 펀치라인이 있습니다. 여기 스크립트에서 다시 할 것입니다. 이렇게 하면 평행 플롯이 생성됩니다. 그런 다음 요약에서 테이블을 업데이트하여 분석물 클래스를 여기에 포함시켰습니다.
이 과정이 진행될 겁니다. 이제 초기와 후기 단계를 볼 수 있는데, 유의미한 로그 값 2를 기준으로 초기 TCA 회로가 통계적으로 가장 유의미합니다. 그 안에서 가장 강력한 매개변수는 등구연산입니다. 후기 단계에서는 이러한 관계가 크게 변하는 것을 볼 수 있습니다. 후기 단계에서는 상황이 완전히 다릅니다. 니코틴아마이드뿐만 아니라 그다지 중요하지 않은 다른 비타민들도 있습니다. 이는 여기서 수행할 수 있는 그래픽 분석의 일부 예일 뿐입니다.
이제 다른 개념을 소개하고 싶습니다.JMP를 다른 데이터 테이블로 이동하겠습니다.BioAccord에서 가져온 것은 아니지만 기능적 데이터 탐색기라는 JMP Pro 기능에 대한 교육 예제를 빠르게 실행해 보겠습니다.20개의 다른 실행이 있는 매우 간단한 생물 반응기가 있고 시간에 따른 탁도만 살펴보고 있다고 가정해 보겠습니다.이러한 변수 중 일부가 어떻게 작용하는지 이해하고 싶습니다.pH와 온도에 대한 실험 계획을 수행했을 수 있습니다.다양한 공정 조건에서 이러한 실행이 있습니다.강조 표시된 행이 점프하는 것을 볼 수 있습니다.이것이 DoE의 증거입니다.기능적 데이터 탐색기를 호출할 것입니다.정말 멋진 기능입니다.이 기능은 모든 곡선을 살펴보고 웨이블릿 모델을 사용하여 많은 변동성을 설명하려고 합니다.
이 글을 3줄로 요약했는데, JMP Pro에서 JMP가 어디에 위치해야 하는지 알아내도록 할 수 있습니다. JMP Pro는 주성분을 파악하고 이러한 주성분이 프로세스 모양에 어떤 영향을 미치는지 보여주는 프로파일러를 제공합니다. 자, 이제 정말 멋진 핵심을 짚어보겠습니다. 이제 이러한 보조 변수들이 프로세스 모양에 어떤 영향을 미치는지 살펴보겠습니다. 이 글은 함수형 데이터 탐색기를 소개하는 것으로, 보조 변수들이 프로세스 모양에 어떤 영향을 미치는지 살펴볼 수 있습니다. 잠깐 멈추고, 이 내용을 요약하는 데 정말 멋진 내용을 제공하는 제 친구 벤에게 넘겨드리겠습니다.
저는 벤 바로소-잉엄입니다. JMP 시스템 엔지니어이며, 생물 공정 분야에서 상당한 경험을 쌓았기 때문에 이 프로젝트에 참여하게 되었습니다. 제가 집중하고 있는 부분은 이 Waters 추가 기능을 통해 많은 분석 자료를 체계적으로 정리된 형식으로 제공한다는 것입니다. DoE(실험실 환경 계획)와 협력할 때 이러한 요인이나 조건을 변경하는 경우가 많습니다. 분석 자료가 실제로 어떻게 변하는지 확인하고 싶습니다.
여기서 어려운 점은 장비에서 나오는 많은 분석물을 예로 들면, 분석물이 70개가 넘을 수 있다는 것입니다. 예를 들어 DoE 계수 중 하나를 선택하고, 해당 계수를 낮은 설정에서 높은 설정으로 변경할 때 어떤 일이 발생하는지 살펴보고, 시간이 지남에 따라 분석물의 형태가 변하는지 확인하는 매우 수동적인 프로세스를 원한다면,
변하지 않는 것들은 중요하지 않다고 생각할 수 있습니다. 하지만 변하는 것들은 우리의 요인에 의해 발생한 것입니다. 어쩌면 중요한 생물학적 의미가 있을 수도 있고, 더 큰 규모의 중요한 생산적 특성과 본질적으로 연관될 수 있는 것일 수도 있습니다. 우리가 주의 깊게 살펴봐야 할 부분일 수도 있습니다.
눈으로 직접 확인하는 건 정말 지루합니다. 70개가 넘는 분석 항목을 가지고 한다면 몇 주씩 걸릴 겁니다. 이 데이터 세트를 보고 바로 JMP의 행 기능과 함수형 데이터 탐색 기능을 생각해 보기 시작했습니다. 이 기능은 기본적으로 도형을 보고 목록을 찾은 다음, 궁극적으로 해당 프로세스에서 가장 중요한 변경 사항을 파악하는 매우 빠른 방법입니다.
제가 궁극적으로 하려는 것은 바로 목표입니다. 이렇게 많은 분석 항목이 있다면, 제가 원하는 것은 두 가지 도구입니다. 첫 번째는 요인이 변경되었을 때 변경된 분석 항목의 범위를 좁히는 것입니다. 두 번째는 해당 분석 항목들을 살펴보고 그 형태가 어떻게 변하는지 확인하는 것입니다. 그 과정에서 요인 설정을 변경하면 어떻게 될까요?
JMP Up을 사용하면 다음과 같은 결과를 얻을 수 있습니다. 하단에 모든 DoE 요인이 표시됩니다. 이 경우 면적 중첩률, 완충액 농도, 해당 효과의 상호작용, 그리고 해당 요인에 의해 유의미한 영향을 받은 것으로 보이는 분석 물질이 표시됩니다. 70개가 넘는 분석 물질이 있습니다. 여기서는 분석 과정에서 해당 형태가 얼마나 바뀌었는지 보여주는 축소된 목록을 볼 수 있습니다.
예를 들어, 여기 포도당을 살펴보겠습니다. 공기 오버레이 속도가 변하면 모양도 변합니다. 마우스를 올려놓으면 그 과정에서 모양이 변했다는 것을 알 수 있습니다. 이소시트르산도 살펴볼 수 있을 것 같습니다. 완충액 농도와 공기 오버레이 속도 모두에 영향을 받는다는 것을 알 수 있습니다.
FDE를 사용하는 한 가지 장점은 표준 최소제곱법의 로그 가치 그래프와 유사한 분석 및 시각화를 통해 어떤 요인이 중요한지 파악할 수 있다는 것입니다. 이 경우, 어떤 아밀로이드가 변화했는지 확인할 수 있습니다. 이와 더불어 함수형 DoE(DoE)도 사용할 수 있습니다. 아마도 프로파일러 도구에 익숙하실 겁니다. 프로파일러를 사용하면 모양을 살펴보고 시간에 따라 어떻게 변하는지 확인할 수 있습니다.
이 경우, 제가 분석한 것이 있습니다. 이것은 두 개의 히드록시글루타르산이고, 그 형태는 설정된 조건에서 시간에 따라 변합니다. 오버레이 속도나 완충액 농도를 바꾸면 어떻게 보일까요? 프로파일에 어떤 영향을 미칠까요? 제가 만든 이 시각화와 이 내용을 아주 잘 연결해 보면, 오버레이 속도 때문에 포도당 수치가 변했다는 것을 알 수 있습니다.
모든 분석물 목록을 필터링해서 여기에 표시할 수 있습니다. 이제 포도당을 살펴보겠습니다. 공기 오버레이 속도가 해당 과정에 어떤 영향을 미치는지 확인할 수 있습니다. 또한 어떤 효과가 영향을 미치지 않는지도 확인할 수 있습니다. 완충액 농도를 변경해도 해당 과정에서 포도당에는 아무런 영향을 미치지 않습니다.
이 작업 방식은 제가 설명한 방식과 매우 유사합니다. 시각적으로 형태 변화가 있는지 없는지 확인하는 것이죠. JMP Pro는 형태 변화량을 정량적으로 측정하는 방법인 FPC 점수를 사용합니다. FPC 점수가 0에서 갑자기 10으로 변하면 해당 과정에서 형태 변화가 발생했음을 나타냅니다. JMP를 사용하면 이러한 점수를 생성하는 기능을 활용하여 형태 변화 목록을 매우 빠르게 얻고, 분석할 분석물이 많을 때 어떤 부분이 영향을 받았는지 파악할 수 있습니다.
그 흐름은, 예를 들어 물을 더해서 나오는 각 분석 물질에 대해, 함수형 데이터 탐색기를 사용하여 그 모양들을 맞추는 것입니다. 모양 점수의 기준이 되는 점수를 추출합니다. 그런 다음 표준 DoE에서 하는 것처럼, FPC 점수 때문에 사용하는 DoE 항목들이 바뀌는지, 유의미한 영향이 있는지 등을 확인합니다.
간단한 예를 들어보겠습니다. 이 생물반응기에 대해 조사된 분석 물질 중 하나를 방금 선택했습니다. FDE의 최종 목표는 해당 분석 물질과 각 생물반응기를 사용하여 적합선을 추가하는 것입니다. 각 생물반응기는 해당 공정에서 얻은 데이터에 최대한 근접하게 적합됩니다.
그러면 이것이 FPC 점수로 변환됩니다. 각 바이오리액터의 값인데, 이 바이오리액터의 모양 점수는 0이고, 이 프로세스의 모양 점수는 100이거나, 아니면 그 값이 될 수 있습니다. 기능 요약을 보면 첫 번째 바이오리액터의 FPC 점수가 마이너스 6,000점입니다. 다른 하나는 바이오리액터 2의 FPC 점수가 13,000점입니다. 모양에 차이가 있습니다.
DoE를 사용해서 그 모양을 연결해서, "그 모양이 우리가 사용하는 요인들에 의해 발생했는가?"라고 말할 수 있습니다. 실제로 기능적 DoE를 실행할 때 기본적으로 해당 항목이 FPC에 유의미한 영향을 미치는지 테스트합니다. 이 지표에서 FPC 1을 보고 기능적 DoE 모델을 실행하면, "네, 유의미한 영향이 있습니다."라는 결과가 나옵니다. 공기 오버레이율이 해당 점수를 변화시키고 있습니다. 모양만 변하는 것이 아니라, 실제 변화는 DoE 요인 중 하나에 의해 발생합니다.
이것이 제가 프로세스 초기에 했던 작업의 핵심입니다. 이 표 전체는 제가 매번 이 작업을 반복하면서 해당 프로세스에서 활성 용어에 대한 모든 정보를 수집하고, 이를 시각화하여 "존재한다. 거기에 용어가 있다면 그 프로세스에서 중요한 무언가다"라고 말하는 것입니다. 그리고 나서 우리가 하는 것은, 앞서 보여드렸듯이 각 요인이 각 분석물의 형태에 미치는 영향을 살펴볼 수 있는 예측 공식을 자동으로 얻는 것입니다.
이 모든 정보는 기본적으로 해당 공정의 각 분석물에 대해 수집되어, 시각화와 해당 도구의 프로필을 참고하여 최종 도구를 구성합니다. 궁극적으로, 이를 통해 분석물의 어디에서 변화가 발생했는지 매우 빠르게 파악할 수 있으며, 이러한 요인 변화로 인해 생산 공정에 영향을 미칠 수 있는 분석물의 변화가 발생한 지점을 좁힐 수 있습니다.
어쩌면 예상치 못한 분석물 관계의 변화를 보고 있을지도 모릅니다. 어쩌면 분석물 중 하나를 변화시킨 핵심 요인이 생산 공정에도 영향을 미쳤을지도 모릅니다. 이 도구를 사용하여 기본적으로 그 부분을 분석할 수 있습니다. 저널에 대해 말씀드리겠지만, 꽤 괜찮을 것 같습니다. 관심 있으시면 저널을 이용하실 수 있으며, 이 과정이 어떻게 진행되었는지 살펴보실 수 있고, 그 과정에 몇 가지 추가 세부 정보도 추가될 예정입니다.
정말 감사합니다. 이 데이터 세트는 정말 풍부하고 흥미로운 내용이 많아서 저희 워크플로에 몇 가지 더 추가하고 싶습니다. 지금까지 수질 분석 도구가 계측기에서 데이터를 어떻게 수집하고 분석 및 JMP에 적합한 형태로 변환하는지 살펴보았습니다. 그리고 멋진 그래픽을 만들어 스토리를 전달하고 변수 간의 다양한 관계를 파악하는 기본적인 방법도 살펴보았습니다.
그런 다음 Ben은 함수형 곡선 기반 접근법에 대한 아주 멋진 설명을 해주었습니다. 저는 이 접근법이 잠재적 관계, 특히 DoE 요인과 우리가 측정하는 다른 모든 것들 사이의 관계를 더욱 심층적으로 살펴보고 싶습니다. 마지막으로, JMP 프레임워크에서 매우 강력하고 시스템 내부에서 무슨 일이 일어나고 있는지 파악하고, 예를 들어 일부 요인을 변경하거나 상황을 예측하는 것과 같은 중요한 결정을 내리고, 그 과정에서 특정 핵심 사항에 대해 진행하지 않을 결정을 내리는 데 매우 유용할 수 있다고 생각하는 몇 가지 추가 사항을 소개하고 싶습니다.
여기서부터 시작해 볼까요… 이 표는 Waters Add-in에서 나오는 표입니다. 제가 가장 먼저 언급하고 싶은 중요한 점은, 이 표에는 총 120개의 행이 있다는 것입니다. 그런데 그룹화 변수인 생물 반응기가 있다는 점에 주목하세요. 제가 방금 강조 표시한 처음 15개 행은 모두 첫 번째 생물 반응기에서 가져온 것입니다. 이는 통계 용어로 분할 플롯 설계라고 하는데, DoE 인자, 즉 공기 중첩률, 농도 대비 살포율 등이 여기에 포함되기 때문입니다.
이 값들은 생물 반응기 전체에 걸쳐 일정합니다. 전체 기간 동안 설정되며, 15개 지점은 15일에 해당합니다. 이는 시계열 관점에서도 볼 수 있습니다. 벤이 곡선을 통해 말하고자 했던 것이 바로 그것입니다. 하지만 순전히 실험 설계 관점에서만 볼 때, 통계적 모델링을 할 때는 설계 구조에 주의해야 합니다.
특히 JMP는 매우 강력하며, SAS에서는 오랫동안 전통적으로 혼합 모델이라고 알려진 모델을 사용해 왔습니다. 이 모델은 고정 효과와 임의 효과로 구성됩니다. 오늘은 혼합 모델 이론을 심도 있게 다룰 시간이 없지만, 기본적으로 바이오리액터는 혼합 모델이며, 임의 효과, 분할 플롯 시나리오의 전체 플롯이라고도 불리는데, DoE 플랫폼에서는 변경하기 어려운 요인이라고도 합니다.
핵심은 DoE 요인들에 대한 인과적 추론과 같은 결론을 내리려면, 통계적 결론이 실험 설계를 정확하게 반영하는지 확인하기 위해 혼합 모형 설정을 사용하는 것이 중요하다는 것입니다. 어렵지 않습니다. 하지만 여기에 쉽게 빠질 수 있는 함정이 있습니다. 그냥 무시하고 DoE 요인과 더 엄격한 요인, 또는 관심 있는 결과에 대한 단순 분산 분석(ANOVA)을 시작한다고 가정해 보겠습니다. 그리고 단순한 일원 분산 분석(ANOVA)이나 요인 분석(팩토리얼)을 한다고 가정해 보겠습니다.
통계적으로 이러한 추론은 실제로 편향되어 있습니다. 모든 측정 그룹이 동일한 생물 반응기 내에서 발생하여 상관관계가 있거나 군집화되어 있다는 사실을 고려하지 않았기 때문입니다. 이를 적절하게 처리하는 방법은 혼합 모델을 사용하는 것입니다. 다시 말하지만, 다소 심오한 주제이지만, 오늘은 아주 간단한 주제만 다루겠습니다.
추가로 참고할 만한 자료로, 혼합 모델에 대해 자세히 알고 싶다면 "JMP for mixed models"라는 훌륭한 책이 있습니다. 아주 실용적이고, 이 책을 접하게 되면 혼합 모델이 여기저기서 튀어나오는 경향이 있습니다. 데이터와 실험이 통계학 101에서 가정하는 고전적인 독립 관측치로만 이루어지지 않기 때문입니다. 일반적으로 이 바이오리액터처럼 클러스터링 요인이 작용합니다.
설정 방법은 아주 기본적인 아이디어부터 시작해 보겠습니다. 혼합 모형과 JMP를 설정하는 거죠. JMP나 JMP Pro에서 모두 적용할 수 있습니다. Pro를 사용해 봅시다. Pro 플랫폼에는 몇 가지 기능이 더 있으니, 그걸 활용해서 해 봅시다. 먼저 적합 모형으로 들어갑니다. 반응 모형으로 더 엄격한 모형을 선택하고, 고정 효과로 적용할 요인을 설정합니다. 여기에 요인 항을 추가해 봅시다. 모든 주효과와 모든 양방향 상호작용을 계산해 보겠습니다.
이제 핵심 부분입니다. 혼합 모델 모드로 전환하려면 혼합 모델 성격을 선택해야 합니다. 그러면 추가 탭이 나타나는 것을 확인하세요. 혼합 모델에는 두 가지 종류가 있는데, 하나는 오늘 사용할 무작위 효과를 사용하는 것이고, 다른 하나는 서로 다른 구조를 사용하여 반복 측정하는 또 다른 클래스입니다. 오늘은 후자의 유형을 다루지 않겠지만, 바로 이 부분에서 복잡성이 발생한다는 것을 알 수 있습니다.
지금은 이와 같은 분할 플롯 설정에 적합한, 아마도 가장 간단한 혼합 모델을 사용해 보겠습니다. 생물 반응기를 사용할 텐데, 제가 설정한 것처럼 연속 변수가 아닌 명목 변수여야 합니다. 그리고 이를 임의 효과로 추가합니다. 세 개의 고정 효과 또는 DoE 요인과 그 상호작용, 그리고 이 임의 효과가 있습니다. 이러한 설정은 이와 같은 데이터의 모든 종류의 통계적 모델링에 사용하려는 것입니다.
계속해서 실행해 보겠습니다. 실행 속도가 빠릅니다. 어떤 결과가 나올지 미리 보여드리자면, 이 시점에서는 분산 분석처럼 다룰 수 있지만, 몇 가지 추가 출력이 있다는 것을 알게 될 것입니다. 예를 들어, 여기서는 생물 반응기의 분산 성분 추정값을 얻는데, 이 경우에는 음수입니다. 다소 특이한 결과이지만, 이는 각 생물 반응기 내에서 다소 경쟁적인 상황이 발생했음을 나타냅니다.
영양소가 소모되고 있고, 하나가 증가하면 다른 하나가 감소할 가능성이 높기 때문에 그럴 수도 있습니다. 고정된 폐쇄형 시나리오이므로 그럴 수도 있습니다. 일반적으로 측정값이 양의 상관관계를 가지면 양의 상관관계를 갖습니다. 이는 생물반응기 내에서 상관관계를 측정하는 방법입니다. 따라서 일반적으로 DoE 요인에 주로 초점을 맞춥니다. 여기서는 테스트를 살펴볼 수 있지만, 이 간단한 모델에서는 더 엄격한 조건에서 유의미한 차이가 나타나지 않습니다.
하지만 이는 시작일 뿐입니다. 추가적인 공변량을 추가하고 시스템을 고려한 더욱 완전한 모형을 설계하고 싶을 수도 있습니다. 하지만 오늘은 분할 플롯 설정이나 특정 차단 메커니즘 내에서 반복 측정이 있는 경우와 같이 혼합 모형을 사용하는 것에 대한 핵심 요점만 말씀드리고자 합니다.
제가 보여드리고 싶은 첫 번째 분석은 바로 이것입니다. 이제 좀 더 예측 모델링 개념으로 넘어가 보겠습니다. 여기서 눈여겨보시면, 앞서 말씀드린 각 세그먼트는 서로 다른 질문들을 다루고 있습니다. 이것이 바로 JMP의 강력함과 유연성이며, 다양한 질문을 던질 수 있는 훌륭한 데이터 세트입니다.
이제 DoE 요인에서 좀 더 예측적인 아이디어로 질문을 옮겨 보겠습니다. 기본적인 아이디어를 설정해 보겠습니다. 예측을 시도해 보면 어떨까요? 이 실험을 실시간으로 실행하고 있고, 방금 13일차를 마쳤다고 가정해 보겠습니다. 그리고 14일차에 내일 무슨 일이 일어날지 예측하고 싶지만, 오늘까지의 데이터만 있다고 가정해 보겠습니다. 이런 예측 문제를 어떻게 설정해야 할까요?
JMP의 첫 번째 핵심 단계는 실제로 약간의 데이터 조작을 수행하고, 각 생물 반응기 내의 시계열을 고려하는 소위 데이터 분할을 수행하는 것입니다. 테이블을 실행하여 분할을 수행하겠습니다. 이제 이와 같은 넓은 테이블을 만들 수 있습니다. 이 테이블에는 생물 반응기당 한 행씩 총 8개의 행이 있으며, 모든 측정값이 여러 열로 나뉘어 있습니다.
여기 보시다시피, 하루에 한 열씩 더 조밀한 변수들이 있고, 측정한 다른 모든 변수들도 마찬가지입니다. 시계열 용어로 이러한 변수들을 시차 변수라고 합니다. 이제 예측 모델링 문제에 적합한 이른바 넓은 표가 생겼습니다. 행이 여덟 개뿐이므로 매우 주의해야 합니다. 이처럼 데이터를 과대적합하기 매우 쉽습니다.
실제로는 여기 제시된 데이터보다 훨씬 더 많은 데이터를 가지고 있을 가능성이 높지만, 이 작은 예시를 통해 제가 추천하는 예측 모델링 방법과 그 진행 방식을 보여드리기 위해 몇 가지 간단한 방법을 살펴보겠습니다. 예측 모델링에는 여러 가지 방법이 있는데, 고전적인 시계열 분석부터 JMP와 같은 다른 예측 플랫폼까지 있습니다. 저는 제가 생각하는 가장 현대적이고 강력한 예측 방법을 보여드리고자 합니다. 저는 수년간 Kaggle 경진대회에 참여하면서 이 방법을 알게 되었는데, Kaggle 경진대회는 대체로 예측적인 성격을 띠고 있고, 이러한 경진대회를 통해 많은 것을 배우게 됩니다.
오늘 보여드릴 내용은 예측을 위한 모범 사례에 가깝거나, 아니면 거의 완벽하다고 생각합니다. 일반적으로 가장 먼저 하게 되는 작업은 폴드(fold)를 설정하는 것인데, 여기서는 K-폴드 교차 검증(K-fold cross validation)이라는 방법을 사용합니다. 즉, 테이블의 행 중 일부를 따로 떼어내어 분석하는 것입니다. 그런 다음, 데이터의 한 부분을 사용하여 모델을 학습시킨 후 다른 데이터 세트에서 테스트하는 것입니다.
아시다시피 JMP에는 이런 기능이 오랫동안 있었지만, 전통적으로는 학습 검증 테스트에 3-방향 분할 방식을 사용해 왔습니다. 이번에는 학습과 검증이라는 두 방향 분할을 연속으로 진행할 것입니다. 소위 누출(leakage)에 주의해야 합니다. 어떤 값을 입력하든 알고리즘이 학습 과정에서 누출을 확인하지 않도록 주의해야 합니다. 그렇지 않으면 결과에 편향이 발생할 위험이 있습니다.
K-폴드의 아이디어는 폴드 A라는 변수를 사용하는 것입니다. 행은 8개뿐입니다. 이 폴드는 5-폴드로 설정되어 있는데, 1부터 5까지 무작위로 숫자를 할당하는 방식입니다. 하지만 행이 8개밖에 없으므로, 몇 군데에서는 한 행만 남아 있고 나머지 세 행은 두 행이 남아 있는 방식을 사용합니다.
무엇을 위해 하는 것도 의미가 있을 수 있을까요? 이 경우 조금 더 깔끔할 수 있는 방법은 4중 학습을 하는 것입니다. 한 번에 두 행씩 학습한 후, 그 행들을 순환하며 모델을 네 번 학습해야 합니다. 이것이 제가 추천하는 기본적인 학습 시나리오입니다. 이처럼 작은 데이터 세트에도 마찬가지입니다. 특히 데이터의 과적합을 매우 신중하고 강력하게 방지해야 하기 때문입니다. 특히 XGBoost 추가 기능에 구현된 부스트 트리라는 두 가지 가장 강력한 방법을 사용하고, Torch 딥러닝 추가 기능을 사용하여 최신 딥러닝 신경망을 학습할 것이기 때문입니다. 두 가지 모두 JMP 마켓플레이스에서 제공되는 추가 기능입니다.
먼저 XGBoost를 살펴보겠습니다. 애드인을 설치하고 메뉴에 옵션을 추가한 후 설정하는 방법을 알아보겠습니다. "Make K folds column"을 사용하여 폴드를 생성할 수 있습니다. 이미 만들어 두었으니, 바로 플랫폼으로 이동해 보겠습니다.
여기 설정은 이전과 비슷하지만, 이제 다시 예측에 대해 생각해 보겠습니다. 우리가 하고 싶은 것은 여기에 그룹화 변수가 있으니, 이를 확장해 보겠습니다. 우리가 예측하고 싶은 것은 역가 14인데, 여기 Y가 있고, 이제 입력으로 사용할 것에 대한 선택권이 많습니다. 물론, 여기에 DoE 요소를 넣고, 아주 기본적인 지연 스타일 모델로, 이전의 역가 값(13개)을 가져와서 X로 넣겠습니다. 이제 여기에는 문자 그대로 1,000개가 넘는 잠재적 예측 변수가 있지만, 다시 한번 설명을 위해 간단하게 설명하겠습니다.
더 많은 데이터가 있다면 꼭 포함시키고 싶을 겁니다. 모델에 포함할 수도 있지만, 여기서는 행이 8개뿐이라 너무 과장하면 문제가 생길 수 있습니다. 일반적으로 이러한 지연 변수는 추측할 수 있듯이 매우 강력한 예측 변수가 됩니다. 오늘 무슨 일이 일어났는지 안다면 비슷할 가능성이 높습니다. 이전 궤적을 살펴보면 일반적으로 매우 좋은 예측 변수가 될 것입니다. DoE 요인과 비교해도 어떤지 살펴보고 싶습니다. 그런 다음 일종의 교차 검증 변수를 넣어 보겠습니다. 사용할 수 있는 것은... 폴드 A 변수를 사용해 보겠습니다. 5겹으로 하겠습니다. 다시 말하지만, 4겹으로 할 수도 있습니다. 그렇게 중요하지는 않습니다.
이렇게 작은 데이터에는 조금 조심해야 하지만, 너무 깊이 파고들지는 마세요. XGBoost의 기본 설정 도구는 다음과 같습니다. 튜닝할 수 있는 하이퍼파라미터가 많습니다. 오늘은 시간이 부족하니 기본 모델을 실행해 보겠습니다. 대부분 잘 작동할 테니, 일단 어떻게 되는지 살펴보겠습니다. 이 모델은 실제로 다섯 번만 실행했습니다.
여기서 무슨 일이 일어났는지 보세요. 이게 소위 훈련 손실입니다. 감소했다가 다시 증가하는 것을 보세요. 5~6번 반복 이후 데이터가 과적합되기 시작했다는 경고 신호입니다. 이 모델을 실제로 사용하고 싶지는 않을 겁니다. 그냥 멈추거나, 아니면 그냥 계속하거나, 한 번 더 하거나, 아니면 그냥 5번 반복 후 멈추거나 하는 게 나을 겁니다. 가장 간단한 방법 중 하나입니다.
좀 더 멋지게 만들고 싶다면 모델을 좀 더 정규화하거나 다른 튜닝 작업을 해서 제대로 만들 수도 있습니다. 하지만 여기서 중요한 건 다시 예측하는 것입니다. 우리의 목표는 14일째를 예측하는 것입니다. 훈련 데이터의 경우, 실제로 데이터를 완벽하게 학습시켰지만, 그다지 놀랍지는 않습니다. 행 수는 적지만 검증 세트는 소위 말하는 완전 예측(full prediction)입니다.
이것들은 모델이 향후 데이터에서 어떻게 동작할지를 나타내는 지표입니다. 모델이 점점 나아지고 있음을 알 수 있습니다. 0.3의 제곱, 이 경우 상관관계 0.65에서만 완벽과는 거리가 멉니다. 모델이 약간 개선되고 있다고 생각하는데, 약간의 조정을 통해 더 나은 결과를 얻을 수 있을 것 같습니다. 하지만 8개의 행만 사용하므로 매우 신중해야 합니다. 이는 단지 예시를 위해 보여드리는 것입니다. 나중에 사용할 좋은 모델을 얻으려면 일반적으로 더 많은 데이터가 필요합니다.
XGBoost는 변수의 중요도 등을 해석하는 데 도움이 되는 몇 가지 유용한 추가 기능을 제공합니다. 여기서 공기 오버레이율이 역가 자체의 지연 값(lag value)을 넘어서는 가장 효과적인 예측 변수 중 하나로 나타나는 것을 볼 수 있습니다. 흥미로운 사실인데, 이를 통해 DoE 요인에 대한 간접적인 추론을 시작할 수 있습니다. 하지만 다시 한번 말씀드리지만, 여기서는 직접적인 통계적 추론이 아닌 예측에 중점을 두고 있습니다.
이제 다른 스타일 모델로 Torch 추가 기능을 사용하여 신경망을 만들어 보겠습니다. 설정은 완전히 동일하므로… 추가 기능을 설치하고 플랫폼을 실행해야 합니다. 각 슬롯에서 정확히 동일한 변수를 사용할 것입니다. DoE 요인, 지연 역가, 그리고 폴드 A를 사용하여 14일차를 예측하려고 합니다. 다시 한번, 5겹 모델을 사용할 것입니다. 기본 모델을 실행해 보겠습니다. 다층 퍼셉트론 모델은 2층 모델입니다. 여기서 이 모델의 성능이 전혀 좋지 않다는 것을 알 수 있습니다. 실제로 R제곱이 음수입니다. 이 부분에서는 XGBoost가 조금 더 나은 성능을 보인다고 생각합니다.
하지만 제가 발견한 것은 각각을 약간만 튜닝해도 대략… 비슷한 성능을 보이는 경우가 많고, 서로 잘 보완되는 경향이 있다는 것입니다. 정말 최고의 예측을 원한다면, 한 가지 방법은 두 모델을 앙상블하는 것입니다. 전체 예측을 저장하고 평균을 내는 것이죠. 이건 고전적인 방법입니다. 거의 모든 Kaggle 대회에서 볼 수 있죠. 사람들이 최대 성능을 얻기 위해 하는 방식이 바로 이겁니다.
어쨌든, 제 생각에는 JMP Pro는 매우 강력하고 유연한 접근 방식을 채택할 수 있습니다. 예측 변수를 추가할 수도 있고요. 이러한 모델을 매우 빠르게 적용할 수 있고, 예를 들어 배치가 거의 끝나가는데 다음 날 진행할지 말지 결정하고 싶을 때와 같은 매우 실용적인 질문에 대한 답을 찾는 데 정말 도움이 됩니다. 그냥 기다리거나 낡은 방식의 규칙을 사용하는 대신, 이 모델을 빠르게 실행해서 다음 날의 예측 상황을 확인하고 그에 따라 결정을 내리는 게 어떨까요? 저는 이러한 최신 예측 모델의 강력함과 유연성이 정말 매력적이라고 생각합니다.
들어주셔서 정말 감사하고, 이 글에서 많은 의미를 얻으셨으면 좋겠습니다. 이 예시를 통해 함께 작업하는 동안 정말 즐거웠습니다. 저희 모두는 서로 다른 배경을 가지고 있습니다. 정말 즐거운 프로젝트였고, 앞으로 다양한 분야에서 활용할 수 있는 잠재력이 무궁무진하다고 생각합니다. 오늘 보여드린 내용에 대해 궁금한 점이 있으시면 언제든지 문의해 주세요. 앞으로도 계속 소통하고 싶습니다.