User:Amohr07
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
- Tried to obtain list of dairy farms in Sheboygan, utilizing government websites
- Began preliminary perusal of the following helpful websites
- USDA Agricultural Census
- Sheboygan County Land Use
- Time: 2 hours
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
- Began reading Accuracy of Models for the 2001 Foot-and-Mouth Epidemic, to find support for factors to include in closeness analysis
- Began organizing closeness data
- Time: 1 hour
JUNE 4TH
- Continued previous reading, for more closeness support
- Focused on Accuracy of Models for the 2001 Foot-and-Mouth Epidemic, published in 2008
- Time: 5 hours
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 plot size of each farm using the Sheboygan County Real Estate Lookup
- Estimate average current on coast of Lake Michigan
- Settling Particle Fluxes, and Current and Temperature Profiles in Grand Traverse Bay, Lake Michigan - see data on currents from Appendix II, needs to be averaged
- GLERL Great Lakes Monthly Hydrologic Data - see data on channels in "Annonymous FTP" section, need to estimate values for St.Mary's in 2009 (regression line)
- Lake Michigan in Motion
- 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
- Researched standard format for a scientific report: {http://umech.mit.edu/freeman/6.021J/2000/writing.pdf Writing a Scientific Research Paper - MIT]
- Reread paper from fall semester
- Briefly began writing introduction
- Time: 5 hours
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