User:Amohr07

From REU@MU
Revision as of 06:25, 12 June 2015 by Brylow (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Anna Mohr

Hey guys! I'm Anna Mohr and I'm lucky enough to be completing my second REU project at Marquette. I'm a Computational Math major and plan on graduating in May 2011 but am seriously considering going to graduate school for Math next fall.

Summer 2010 Research

In the summer of 2010, I am researching risk modeling for pyroclastic volcano flows with Dr. Spiller. The following is a record of my work on the project, thus far. For more information, see the project description.

Goals/Objectives

  • Learn and become comfortable with R as a programming language
  • Understand Sacks' and Welch's Random Function Model (RFM)
  • Apply the RFM to a computationally expensive Pyroclastic Volcano Flow model

Week One (6/1)

  • attended REU initial group meeting and research practices talk
  • reading (and working through exercises in) chapters 1-4 of Jones, Owen, Robert Maillardet and Andrew Robinson. Introduction to Scientific Programming and Simulation Using R. New York: CRC Press, 2009.
  • initial read of Sacks, Jerry and Will Welch. The Random Function Model. Summer School on the Design and Analysis of Computer Experiments. 11-12 Aug 2006.

Week Two (6/7)

  • attended REU working lunch
  • working through chapters 4-8 of Jones, read and browsed examples for remaining chapters, 9-22
  • practiced programming in R with problems from Statistics textbook
  • more in-depth read of Sacks, researching questions and shaky concepts for better understanding
  • final write-up of notes on Sacks

Week Three (6/14)

  • met with Dr. Spiller to solidify understanding of Sacks
  • wrote a program in R to reproduce results of Sacks' example (RFpractice.r)
- achieved various non-conditional realizations of a RF
- achieved the conditional realization of a RF, with ability to manipulate beta, theta, alpha, and variance
- need to investigate: problems with size of Z(x) in RF.r and adding 95% CI to the conditional RF

Week Four (6/21)

  • no work this week - vacation with family in north carolina :)

Week Five (6/28)

  • re-familiarizing myself with previous work and code
  • added comments to previous code for better readability and to allow future adoptability
  • located and remedied minor glitch in code
  • began initial work for mini-presentation (7/9)
  • met with Dr. Spiller to gain better understanding of project goals

Week Six (7/5)

  • began incorporating Dancik, Garrett. "mlegp: an R package for Gaussian process modeling and sensitivity analysis." 5 November 2009.
- installed mlegp package for R
- mlegp package finds best theta and mu values for an RF, among other things
- achieved implementation of these two features (mlegpPractice.r)
  • met with Dr. Spiller to gain better understanding of original volcanic model
  • prepared and gave a presentation to REU students and mentors on my work thus far

Week Seven (7/12)

  • waiting for data from original volcanic model...
  • began gathering notes for final paper/poster/presentation

Week Eight (7/19)

  • still waiting for data from original volcanic model...
  • continuing working on preliminary work for final paper/poster/presentation
- wrote introduction and section on RF Modeling
  • finalizing plans for Vancouver trip!

Resources

  • Jones, Owen, Robert Maillardet and Andrew Robinson. Introduction to Scientific Programming and Simulation Using R. New York: CRC Press, 2009.
  • Sacks, Jerry and Will Welch. The Random Function Model. Summer School on the Design and Analysis of Computer Experiments. 11-12 Aug 2006.
  • Dancik, Garrett. "mlegp: an R package for Gaussian process modeling and sensitivity analysis." 5 November 2009.

Summer 2009 Research

In the summer of 2009, I researched the possible spread of Foot and Mouth Disease in Wisconsin Dairy Cattle with Bridget St.Peter, Alex Heaton, and Dr. Factor. The following is a tabulation of my weekly work on the project. For more information, see the project description and the final poster.

Week One (5/18)

MAY 18TH

MAY 19TH

  • Continued efforts to ascertain list of farms
  • Contacted USDA - legal restrictions, rerouted to Farm Service Agency, Agricultural Marketing Association
  • Contacted Farm Service Agency - call back Wed. am : 920.467.9917
  • Contacted UW Extension in Sheboyagn - left voicemail : 920.459.5900
  • Began downloading aerial map of Sheboygan from USDA Geospatial Data Gateway
  • Time: 4 hours

MAY 20TH

  • Read and took notes on articles from Alex's page:
  • Time: 4.5 hours

MAY 21ST

  • Obtained list of Sheboygan farms and discussed possible mechanisms by which to graphically represent farm locations
  • Further discussed methods by which to differentiate our research from previous academic work
  • Time: 1.5 hours

MAY 22ND

  • Met with Dr. Factor to discuss project focus and details
  • Began work on more detailed project proposal
  • Investigated method by which to capture geographic information of farm locations
  • Time: 3.5 hours

MAY 24TH

  • Finished program to format geographic information of farm locations
  • Developed program to calculate distances between farms
  • Time: 3 hours

Week Two (5/26)

MAY 26TH

  • Finalized project proposal
  • Distributed plotting program and instructions to group members
  • Manipulated distance program to output distances in kilometers, adjusted code from Movable Type Scripts
  • Completed initial version of graphing program
  • Time: 7.5 hours

MAY 27TH

  • Began reading Introduction to Graph Theory
  • consider using a digraph to represent truck routes, etc.
  • possibly examine disparity between longest path (weighted for probability) and geographical distance between two farms
  • investigate importance of the existence of cycles - would this make the virus more virulent?
  • Worked through proof of Domination to Bipartite Domination Theorem from Algorithmic Graph Theory, p81
  • BRAIN BURST:
  • use probability-weighted edges to determine testing sites
  • use time-weighted edges to determine testing frequency
  • both analyses would utilize the same factors, but different calculations to determine the weights
  • Compiled master list of farm locations in latitude and longitude coordinates
  • Continued work on graphing program, adding plotting functionality and beginning work on infection simulation functionality
  • Time: 6.5 hours

MAY 28TH

  • Met with group and discussed project goals
  • Continued work on finalizing a list of factors to consider
  • possibly designate some factors as more dangerous to spread outside of the region under consideration (i.e. Sheboygan county)
  • Time: 3 hours

MAY 29TH

  • Toured A-OK Farm in Sheboygan
  • need to further investigate influence of heifer growers, pig farm locations
  • consider including the influence of daily farm traffic - milk tankers, feed trucks, machinery service men, etc.
  • Continued work on graphing program, adding infection simulation functionality (for a single or all farms)
  • Time: 8 hours

Week Three (6/2)

JUNE 2ND

  • Discussed possible methods for finding and evaluating minimum dominating sets
  • Determined and outlined remaining major research tasks
  • Began identifying scholarly support for factors to be included in analysis - examining more recent sources that site these articles
  • Time: 4 hours

JUNE 3RD

JUNE 4TH

Week Four (6/9)

JUNE 9TH

  • Continued previous reading
  • Reviewed original report (from Fall 2008), especially examining section on closeness
  • Time: 3 hours

JUNE 10TH

  • Reviewed new methods for finding dominating sets with Alex
  • Finished organizing thoughts on "closeness", e-mailed rough outline to group
  • Possible future tasks for determining closeness (if deemed valuable):
  • Find values for currents on major rivers, boat traffic on rivers and lakes, speed limits on major roadways and railways, average traffic on major roadways and railways, population density
  • Quantify seasonal variation
  • Began organizing programs - defined Matrix class and a Graph class which extends Matrix
  • Time: 8 hours

JUNE 11TH

  • Met with group and discussed remaining tasks
  • Finished analysis of factors - currently using only Euclidean distance
  • Continued work on programs
  • Added 'input from file' functionality to new suite of programs
  • Began work on scaling of distances
  • Began reading A Java Library of Graph Algorithms and Optimization (2007)
  • Time: 4.5 hours

JUNE 12TH

  • Discussed and resolved issues of over-connectedness
  • Methods to determine approximate dominating set, not neccessarily minimum dominating set
  • Possible importance in other applications
  • Decrease cull range based on consumer's varying intended degrees of risk
  • Continued work on programs
  • Finished scaled adjacency matrix
  • Began work on first method of finding an approximate dominating set - OWN, Order Weighted Neighborhoods (need to add methods to replace members of the dominating set that are multiple path lengths away from each other)
  • Perused A Java Library of Graph Algorithms and Optimization, examining included media CD of code
  • Time: 4 hours

Week Five (6/15)

JUNE 15TH

  • Continued to work on programs
  • Adjusted previous work to replace by moving up in list
  • Added method to check new members of list with previously checked members
  • Eliminated unneccesary calculations
  • Time: 5.5 hours

JUNE 16TH

  • Continued work on programs
  • Created Version #2 of OWN, to verify results
  • Added graphing functionality - produces a graph which circles the members of the produced dominating set
  • Time: 6 hours

JUNE 17TH

  • Briefly began work on spanning trees method
  • Need to further research creating a random spanning tree from a graph
  • Discussed importance of minimum (or maximum) spanning trees
  • Read A Java Library of Graph Algorithms and Optimization, p.14, 75
  • Began work on jumping method
  • Made Sorted class, for use in both OWN and Jump tests
  • Set up user-indicated starting point
  • Wrote method to find next edge with lowest weighted value
  • Time: 10 hours

JUNE 18TH

  • Met as a group with Dr. Factor to present progress thus far
  • Added indices and indicator arrows to graphing program, both optional
  • Worked with Alex to understand Customized Vertex Value Method
  • Began programming CVVM
  • Created outline of class, variable types, and a few general methods
  • Set up tester program to run versions of CVVM as I continue to code it
  • Time: 7 hours

JUNE 19TH AND 20TH

  • Continued work on CVVM code
  • Continued reading from A Java Library of Graph Algorithms and Optimization
  • Time 2 hours

Week Six (6/21)

Please note that during this week, I am on vacation and am working significantly reduced hours.

JUNE 21ST

  • "Finished" programming CVVM (Customized Vertex Value Method)
  • Added all functionalities as discussed with Alex
  • User must input sum intervals and values as well as closeness intervals and values
  • Needs to be double-checked, probably by hand
  • Time: 3 hours

JUNE 23RD

  • Double-checked CVVM by hand, utilising a smaller example graph
  • Ironed-out kinks in program, including faulty sorting method
  • This process should be repeated for all previously coded tests, just in case
  • Initial results of CVVM provided relatively "close" dominating sets - needs to be discussed and input parameters need to be adjusted (i.e. play around with it)
  • Time: 3 hours

JUNE 24TH

  • Used previously developed tester to double-check OWN and JUMP programs
  • Verified application to smaller scale graphs
  • Ironed out small kinks, including making closeness ranges inclusive (rather than exclusive)
  • Need to develop more test cases to check programs
  • Time: 3 hours

JUNE 26TH

  • Continued debugging and developing test cases
  • Modified OWN to output more helpful information, in terms of debugging
  • Time: 3 hours

JUNE 28TH

  • Met with group to catch up on their research activities over the past week
  • Went through PowerPoint presentation for Thursday
  • Began initial discussions of the final paper
  • Disambiguated terms from the CVVM method
  • Time: 2 hours

Week Seven (6/27)

JUNE 29TH

  • Updated programs to refelct yesterday's group discussion
  • Zipped and adjusted programs for use by Alex and Bridget on other computers
  • Time: 2 hours

JUNE 30TH

  • Worked on outputting a jpg image, problems with colors
  • Time: 2.5 hours

JULY 1ST

  • Fixed color problem of jpg images, changed save location to user input
  • Coded first testing method (minDist), for evaluating the "goodness" of a dominating set
  • Split up Main program into methods
  • Performed MAJOR debugging of programs
  • Adjusted code to allow for use on other computers (i.e. generalized save location)
  • Fixed minDist test
  • Finished CVVM, should be fully functional now
  • Helped Bridget run programs on her desktop
  • Time: 11 hours

JULY 2ND

  • Finished up presentation
  • Attended Mid-Summer Presentation/Luncheon - really great to learn about others' (incredible) work and research
  • Time: 4 hours

JULY 3RD

  • Began investigating coding additional tests (for evaluating "goodness" of dominating sets)
  • Time: 3 hours

JULY 5TH

  • Coded tentative version of Test #2 - Minimum Weighted Path
  • Need to double check how program should "choose" path
  • Time: 2.5 hours

Week Eight (7/6)

JULY 6TH

  • Updated Test #2 to choose paths based on probability (not simply weights)
  • Also added back spread capability to Test #2
  • Test #2 requires further testing
  • Time: 5 hours

JULY 7TH

  • Began working on gui for program - should speed up data entry and analysis
  • Requires much further development and finetuning
  • Time: 5 hours

JULY 8TH

  • Discussed data systemization with Bridget - need to develop program to run suite of tests (approx. 2000 runs of JUMP method alone)
  • Continued work on GUI
  • OWN is presumably functioning correctly - requires further verification
  • Need to work on displaying output in a meaningful fashion
  • Time: 3 hours

Week Nine (7/13)

JULY 13TH

  • Put finishing touches on initial version of GUI
  • Began coding program to run high quantities of iterations for data analysis - OWN complete
  • Time: 5.5 hours

JULY 14TH

  • Briefly reviewed results of running many iterations of OWN
  • Worked with Bridget to eliminate a possible additional method
  • Time: 4 hours

JULY 15TH

  • Began working on JUMP in bulkRun program - allows for user-specified entry of 2 fixed variables
  • Finished JUMP in bulkRun program
  • Time: 4 hours

JULY 16TH

  • Worked with Bridget to address data collection and analysis issues
  • Finished second goodness test - needs to be implemented into Main and bulkRun programs
  • Worked to implement second goodness test in bulkRun program - needs further finetuning
  • Time: 6.5 hours

JULY 17TH

  • Continued implementing second goodness test into bulkRun and Main programs
  • Made dominating sets of requested size 0 special cases in second goodness test and jump programs
  • Worked with Alex to create more meaningful output from bulkRun programs
  • Began recoding bulkRun program with simpler method for fixing variables in JUMP method
  • Created brief program to print ranges of indices on a map of the farms
  • Continued work with recoding of bulkRun programs - need to devise simple method for labeling results in Jump Output...
  • Time: 10 hours

JULY 18TH

  • Finished new bulkRun programs
  • Added more descriptive headings
  • Incorporated second goodness test
  • Added capability of printing out sizes of dominating sets
  • Time: 5 hours

JULY 19TH

  • Coded fourth method for finding a dominating set - Probability Method
  • needs further fine-tuning, especially in choosing which vertex of the combined vertex to include in the dominating set
  • Time: 5.5 hours

Week Ten (7/20)

JULY 20TH

  • Finished coding fourth method
  • Began integrating fourth method into Main program
  • MinWeightedPath is no longer working, needs a lot of work...
  • Fixed Probability Method program, which eliminated problems with MinWeightedPath
  • Began coding Path Length Two Method
  • Time: 8 hours

JULY 21ST

  • Continued work on Path Length Two Method
  • Need to determine what happens when the program chooses a vertex with no vertices that are at most path length two away
  • Finished Path Length Two Method, only requires a few more test runs
  • Time: 5 hours

JULY 22ND

  • Implemented Path Length Two Method into Main program
  • Coded bulk run program specifically for Path Length Two Method (since there is only one variable input)
  • Began initial examination of results of Path Length Two Method
  • Began coding Test #3 - need to clarify why a dominating set's neighbors would want to include each vertex only once...
  • Finished coding Test #3, remains to be integrated into Main program
  • Time: 8 hours

JULY 23RD

  • Integrated Test #3 into Main program
  • Decided to eliminate Test #4 from further consideration
  • Ran Bridget's test graphs through Jump - results confirm that the program is running accurately and has been successfully implemented
  • Realized and tried to fix problem in PLT Method - fixing requires further verification
  • Time: 5 hours

JULY 24TH

  • Worked on fixing problem in PLT Method
  • PLT currently works correctly within tester programs, but needs to be better implemented in the main program
  • Continued adjusting PLT
  • Time: 6 hours

JULY 25th

  • Adjusted PLT to allow full functionality in Main program
  • Time: 4 hours

JULY 26TH

  • Discovered issue with PLT method, for a cut off length of 0.94
  • Still working to fix this issue
  • Time: 6 hours

Week Ten (7/27)

JULY 27TH

  • Worked through PLT method with a cut-off value of 0.94 on the Sheboygan graph
  • Concluded that entire program needs to be adjusted to accomodate looking for vertices path length two away from those vertices that are path length two away from the starting vertex (and so on and so forth)
  • Time: 5.5 hours

JULY 28TH

  • Continued to manually work through PLT glitch
  • Realized that sorting method is faulty, fails to properly record the last item in the list if it has a value of zero
  • Fixed PLT method (finally!)
  • Time: 7.5 hours

JULY 29TH

  • Mapped plan of attack for bulk run program incorporating CVVM
  • Briefly began initial coding of above program
  • Time: 3 hours

JULY 30TH

  • Adjusted CVVM to allow bulk runs, restricted number of intervals to two each (closeness and disconnectedness)
  • Added CVVM to bulkMinDist and bulkRandPaths programs
  • Time: 8.5 hours

JULY 31ST

  • Read over other members' contributions to the paper
  • Worked on representing results for different methods via graphs in three dimensions
  • Time: 6 hours

AUGUST 1ST AND 2ND

Week Eleven (8/3)

AUGUST 3RD

  • Discussed paper set-up and formatting
  • Began writing part of introduction and programming section
  • Time: 3.5 hours

AUGUST 4TH

  • Recoded PROBS method to allow for "skewing" the graph up or down
  • Implemented new version of PROBS into Main program
  • Added PROBS to bulkMinDist program - takes to long to run to add to bulkRandPaths
  • Time: 5 hours

AUGUST 5TH

  • Adjusted PROBS method to allow for the use of a cut-off value
  • Reimplemented PROBS into Main and bulkMinDist programs
  • Began reading compiled version of the paper
  • Finished most of introductory portion of computer programming nots
  • Compiled everything that we have for the paper so far into one document, with correct ordering and formatting
  • Time: 10 hours

AUGUST 6TH

  • Briefly adjusted bulkMinDist program for CVVM to more easily accomodate variations in closeness values
  • Began writing computer programming notes for specific methods and tests
  • Cleaned up code for programs, to be added to final paper
  • Time: 3.5 hours

AUGUST 7TH

  • Finished programming notes
  • Added codes for programs to appendix, fixed formatting
  • Compiled remainder of paper
  • Wrote conclusions section
  • Printed final paper!!
  • Time:8 hours


Return to top.