7월 2019 - KJT's Blog

Storage for Knowledge

Hot

Post Top Ad

Study is the best friend!

2019-07-30

US EPA PMF 모델 기본 사용법 (PMF 모델 소개)

7월 30, 2019 0


  • PMF(Positive Matrix Factorization) 모델은 수용 모델(Receptor model)의 한 종류로써 US EPA (Environmental Protection Agency)에서 권장하는 대기 모델링 중 하나이다. 
  • 수용모델은 수용체 또는 수용지역에서의 대기 오염물질 종류 및 농도 등의 데이터를 바탕으로 한 통계적 분석을 통하여 대기오염물질 배출원(Source)의 기여도를 정량화하기 위한 수학적 접근법이다.
  • 수용 모델의 목표는 측정된 물질들의 농도와 배출원 정보 사이의 Chemical Mass Balance (CMB)를 요인의 수 p, 각 배출원의 오염물질 정보 f, 개별 샘플에 개별 요인이 기여하는 질량의 양 g (특정 배출원에 대한 배출량, 즉 측정기간에 대한 오염원의 강도 (strength))를 사용하여 계산하는 것이다.
  • i : 샘플의 수, j : 오염물질 종류, x : i 개의 시료에서 측정된 j 개의 오염물질로 나타낸 데이터 행렬, e : 잔차(나머지) 행렬 (residual matrix)
    • 모델의 최적화를 위한 Objective Function Q는 PMF의 중요한 매개변수로써 모델 내 반복 알고리즘을 통해 최소화된다.
    • u : 불확도 (uncertainty), 계산식의 분자는 잔차(나머지) e
      • Q는 2가지 버전(true, robust)으로 모델 내에서 표시된다.
        • Q (true) : 모든 포인트를 포함하여 계산된 값
        • Q (robust) : 불확도로 수정된 잔차(나머지)가 4 이상인 샘플들을 제외한 후 계산된 값
      • 불확도가 매우 커지면, 두 파라미터는 비슷한 값을 가지게 된다.
        • 모든 샘플은 개별 불확도를 가져야 하며 이의 계산 방법은 여러 가지가 있으며, 연구자는 연구 방향에 맞는 최적의 계산 방법을 결정하여야한다.

          • MDL (Method Detection Limit) : 방법검출한계
        미세먼지 데이터의 PMF 모델링 분석을 위한 불확도 계산 방법 리스트
        • 위의 계산 방법들은 농도값이 MDL 보다 클 때 사용한다.
          • 이상으로 US PMF 모델에 대한 간단한 소개와 함께 불확도 계산 방법에 대하여 알아보았다.


          참고 문헌
          1. US EPA 메뉴얼 
          2. https://m.blog.naver.com/PostView.nhn?blogId=chylook&logNo=70074232400&proxyReferer=https%3A%2F%2Fwww.google.com%2F
          3. Adam R., Shelly I. E., and Prakash V. B., Receptor Modeling of Ambient Particulate Matter Data Using Positive Matrix Factorization: Review of Existing Methods, J. Air & Waste Manage. Assoc., 2007, 57:146-154
          Read More

          2019-07-26

          R을 이용한 OpenAir 패키지 기본 사용법 ("windRose" 기능)

          7월 26, 2019 0
           



          • 이번 글에서는 OpenAir 패키지를 이용한 "WindRose" 기능에 대해서 알아보고자 한다.

          1. OpenAir 패키지는 데이터 내 풍향/풍속 값을 이용하여 바람장미를 그리는 기능을 제공하고 있다. 
          • 아래와 같은 아주 간단한 코드를 이용하면 데이터 내 모든 풍향/풍속 자료를 사용하여 바람장미를 생성해준다.
            windRose(mydata)



            1. 또한 "windRose" 코드 안에 "type" 옵션 코드를 사용하면 여러 가지 형식으로 바람장미를 그릴 수 있다. 
            • 여기서는 한 예로 "year" 옵션을 사용해 보았다.
            • 여러 가지 옵션을 조합해서 사용이 가능하며 자세한 내용은 메뉴얼을 참고하기 바란다. 
            windRose(mydata, type="year")




            1. 또 하나 유용한 기능은 "type" 옵션 코드에서 옵션을 오염물질로 지정하면 일정 농도 범위별 바람장미가 그려지는 것이다.
            • 여기서는 "pm10"을 한 예로 실행해 보았다.
            • "type" 옵션을 오염물질로 지정하면, 기본적으로 4개의 데이터 범위에 따른 풍향/풍속 정보를 바람장미로 나타난다. 
            • 'pm10" 결과에서는 농도가 "1 to 22", "22 to 31", "31 to 44", "44 to 801"로 구분되었고, 각 농도 범위별로 바람장미가 그려졌다.
            • 이러한 결과를 바탕으로 연구자는 저농도일 때 나타나는 주 풍향/풍속과 고농도일 때 나타나는 주 풍향/풍속을 비교해 볼 수 있을 것이다.
            windRose(mydata, type = "pm10")



            1. 기타 다른 적용 가능한 옵션들은 다음과 같다.



            참고 문헌 : OpenAir 메뉴얼  http://www.openair-project.org/PDF/OpenAir_Manual.pdf

            Read More

            R을 이용한 OpenAir 패키지 기본 사용법 ("cutData" 기능)

            7월 26, 2019 0
             


            • OpenAir 패키지의 "cutData" 기능은 데이터들을 시간, 값의 크기, 장소 등을 일정한 범위로 나눌수 있도록 해준다.

            1. 데이터를 구분할 때 가장 많이 사용하는 변수 중 하나는 "계절"이다.
            • 지금 사용하고 있는 샘플 데이터는 연월일 및 시간별로 각 오염물질의 농도를 표시하고 있다.
            • 전체 샘플 데이터를 계절별로 정리하는 방법은 매우 간단하다.
            mydata <- cutData(mydata, hemisphere="northern", type="season")
            • 이 코드를 실행하게 되면 기존 데이터에 "season"이라는 새로운 데이터가 생성되며, "mydata" 창에서 이를 확인할 수 있다.
            • "Winter (DJF)", "Spring (MAM)", "Summer (JJA)", "Autumn (SON)"으로 표시되며, 괄호 안의 문자는 각 월의 첫글자이다.
            • "hemisphere"는 쓰지 않아도 "북반구"를 기준으로 구분되며, "남반구" 계절로 표현하고 싶다면 "northern"을 "southern"으로 변경하면 된다.



            1. 다른 데이터들을 범위별로 구분하고 싶다면 코드 내 "season" 대신 다른 데이터의 이름을 적용하면 된다.
            • 구분 구간을 정하지 않으면 기본적으로 4개의 레벨로 구분되며, 더 많거나 적은 구간으로 나누고 싶다면 "n.levels" 코드를 추가하면 된다.
            mydata <- cutData(mydata, type="pm10")



            1. "cutData" 코드에 함께 쓰이는 옵션들은 다음과 같다.



            참고 문헌 : OpenAir 메뉴얼 http://www.openair-project.org/PDF/OpenAir_Manual.pdf
            Read More

            R을 이용한 OpenAir 패키지 기본 사용법 (전체 데이터 요약)

            7월 26, 2019 0
             






            • 이번 글에서는 분석할 데이터에 대한 기본적인 통계적 정보 확인 및 이에 대한 그래프를 그리는 방법을 이야기 하고자 한다. 


            1. 먼저 분석할 데이터를 R Studio에서 생성한 프로젝트에 삽입해준다. 
            • 메뉴얼에서는 데이터에 있는 날짜/시간 포맷을 쉽게 다루기 위하여 "lubridate" 패키지 설치를 권장하고 있다. (자세한 내용은 메뉴얼 참고)
            • R Studio 콘솔 창에 아래와 같이 코드를 작성하면 설치되며, 만약에 설치가 되지 않는다면 "openair" 패키지와 마찬가지로 우측 "package" 탭에서 "Install"을 클릭 후, 검색과 설치를 진행하면 된다.
            • 패키지 설치 후, "mydata" 변수에 데이터 파일을 "import"한다.
            • 이 때, 데이터 파일이 프로젝트 폴더에 위치하지 않는다면, "  " 안에 데이터 파일이 위치하고 있는 "절대경로"를 넣어야한다. 
            mydata <- import("openair_example_data_long.csv")




            1. 다음으로 데이터의 기본적인 통계 정보를 확인하는 방법이다.
            • "summary"라는 간단한 코드로 데이터 내 각 물질별 최소값, 최대값, 중간값, 평균값 등을 확인할 수 있다.
            summary(mydata)




            1. 앞서 "summary" 코드로 확인된 내용을 그래프 형식으로 표현할 수 있다.
              summaryPlot(mydata)






              1. "summaryPlot"에서 여러 조건 코드를 추가하여 형태 및 내용을 변경 및 추가할 수 있다.



              참고문헌 : OpenAir  메뉴얼  http://www.openair-project.org/PDF/OpenAir_Manual.pdf

              Read More

              2019-07-25

              R을 이용한 OpenAir 패키지 기본 사용법 (OpenAir 설치)

              7월 25, 2019 0
                



              • OpenAir 패키지는 대기오염연구 분야에 활용할 수 있는 R 프로그램의 매우 유용한 툴이다.
              • R 프로그램은 인터넷 상에서 무료로 다운 받아 사용이 가능하며, OpenAir 패키지는 R 프로그램 내에서 설치가 가능하다.
              • 이 블로그에서 소개할 내용은 모두 OpenAir 메뉴얼에서 확인할 수 있으며, 샘플 파일은 OpenAir 홈페이지에서 다운받을 수 있다.

              1. 먼저 R 및 R Studio를 설치해야 한다.


              1. R 및 R Studio를 차례대로 설치한 후, R Studio를 실행한다.


              1. OpenAir 실습을 위하여 "File" -> "New Project" 선택한 후, 적당한 이름으로 프로젝트를 만든다.


              1. R Studio 오른쪽에서 "Packages" 메뉴를 찾은 다음 "openair" 패키지를 클릭한다. (만약에 없다면 "Install" 버튼 클릭 후 "openair"를 검색하여 설치)


              1. OpenAir 패키지를 사용할 준비가 되었다. 


              참고문헌 : OpenAir  메뉴얼  http://www.openair-project.org/PDF/OpenAir_Manual.pdf
              Read More

              2019-07-19

              온라인 책 사이트 (컴퓨터 프로그래밍, R, 빅데이터 등 관련)

              7월 19, 2019 0

              • 컴퓨터 프로그램, R, 빅데이터 등을 독학하기 위한 책들이 있음
              • 무료로 볼 수 있으나, e-Book 또는 오프라인 종이책으로 구매도 가능
              Read More

              Endnote Online 사용법 (MS Word 적용 방법)

              7월 19, 2019 0



              1. "Cite While You Write" 플러그인을 설치 후 Word 프로그램에 Endnote 메뉴가 생성



              2. Endnote 메뉴 클릭 후 로그인 정보 입력


              3. Reference가 참고된 문장 및 문서 내 컨텐츠로 이동 후 Endnote 메뉴의 "Insert Citation" 메뉴를 클릭


              4. 검색 창이 뜨면 논문 제목 또는 키워드 등으로 reference를 검색한 후 "Insert" 버튼 클릭


              5. 자동으로 번호 및 서식 등이 생성됨


              6. 서식을 변경하고 싶을 시, "Style"에서 변경 가능



              7. 모든 문서에서 reference 지정이 끝난 후에는 반드시 "Convert Citations and Bibliography" 메뉴를 클릭한 후 "Conver to Plain Text" 버튼으로 전체를 일반 문서 형태로 변경 (그대로 전송 시 파일이 변경될 수 있음)



              8. Endnote로 만들어진 원본 파일도 반드시 함께 보관 (향후 수정에 필요)



              Read More

              Endnote Online 사용법 (reference 수집)

              7월 19, 2019 0




              1. Endnote 홈페이지



              • 검색 사이트에서 "Endnote online" 검색







              2. 가입 및 로그인



              • 가입 및 로그인 후 "Cite While You Write" 플러그인 설치 (MS Word와 연동)








              3. Reference 수집



              • "ScienceDirect" 등과 같은 논문 사이트에서 reference로 사용하고자 하는 논문을 검색한 후, "Export" 메뉴 찾은 후 "RIS" 형식으로 내보내기



              • "RIS" 형태로 다운로드 된 논문 정보 파일을 Endnote에서 "Import"
              • "Collect" 메뉴 -> "Import References" 메뉴













              Read More

              Post Top Ad

              Play with Study!