Thanks to visit codestin.com
Credit goes to github.com

Skip to content

FabriFalasca/delta-MAPS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

If interested in the Python version look at the py-dMaps folder

delta-MAPS

δ-MAPS is a method that identifies the semi-autonomous components of a spatio-temporal system and studies their weighted and potentially lagged interactions. The semi-autonomous components of the system are modeled as spatially contiguous, possibly overlapping, functionally homogeneous domains. To the best of our knowledge, δ-MAPS is the first method that can identify spatially contiguous and possibly overlapping clusters (i.e., domains). At a second step, δ-MAPS infers a directed and weighted network between the identified domains. Edge direction captures the temporal ordering of events while the weight associated to each edge captures the magnitude of interaction between domains.

How to run it?

  • The spatiotemporal field to mine has to be a .mat file and be located in the folder "data". delta-MAPS accepts as input, datasets defined on a regular two-dimensional grid with time series specified at each point.

  • Two files have to be locate in the main folder:

          (1) A .txt file containing a single line specifying the path to the folder data (where the dataset is stored).              
              In the deltaMAPS folder downloadable here it is called fileloc.txt              
          (2) A .txt containing the latitudes of your datasets. Example: in the case of a dataset with 1 degree resolution in
              latitudes, this file will contain a single line written as follow: 90, 89, 88, ..., -88, -89, -90
              In the deltaMAPS folder downloadable here it is called latFile.txt
    
  • To run the code, you have to be in the folder src and type the following commands

    (a) javac -classpath "DistLib_0.9.1.jar:jamtio.jar" *.java
    (b) java -Xmx4g -cp ":DistLib_0.9.1.jar:jamtio.jar" DeltaMAPSclm ../fileloc.txt ../latFile.txt k alpha maxLag netSigLevel q 
    

    Step (a) is compile all java files (if you make a change in the files is necessary to recompile) Step (b) runs the code:

                      - java tells to the system that you're calling the java runtime environment
                      - -Xmx4g specifies the maximum memory that the system is allowed to use. So in this example is 4
                        gigabytes.
                      - -cp ":DistLib_0.9.1.jar:jamtio.jar" DeltaMAPSclm tells the java runtime environment to start running  
                         DeltaMapsClimate.jar which is our main program to infer areas and the network between areas. 
                      - The rest are inputs of deltaMAPS:
                                 - ../fileloc.txt file containing one line specifying the path where the data are stored
                                 - ../latFile.txt file containing one line with the values of latitudes
                                 - k is the neighborhood size for peak identification
                                 - alpha is the domain identification significance level which will determine \delta.                                     
                                 - maxLag is the maximum possible lag that you want to use 
                                 - netSigLevel is the network identification significance level 
                                 - q = TRUE/FALSE. 
                                              If TRUE, the False Discovery Rate will be used for the network inference
                                              If FALSE, a t-test will be used for the network inference.
    

    Given different fields (noisier or smoother), these parameters may change. As an example, in reference [1] we used the following parameter for mining the HadISST dataset for the period 1971-2015:

           - k = 16 (an empirical method on how to determine the "right" k is described in ref [4])
           - alpha = 0.02
           - maxLag = 12. Given the monthly resolution of the dataset (HadISST), this implies that the network inference 
             computed the lag-correlations between every couple of domains from a minimum of -12 months to 12 months.
           - netSigLevel = 0.001  
           - FALSE
    
    • IMPORTANT Masked values should be set to -1000000

    Notes: (a) delta-MAPS is currently implemented in Java. Codes for the network inference in Mathematica can also be found in https://github.com/FabriFalasca/network_Inference . Eventually though, we plan in implementing the code in Python. (b) In this repository we also add the main code for preprocessing the data. Codes for preprocessing are: (i) preProcessing.m, (ii) keepGoodYears.m, (iii) regressConfSen.m . The main code being preProcessing.m

Some references

About

δ-MAPS is a method that identifies the semi-autonomous components of a spatio-temporal system and studies their weighted and potentially lagged interactions. The semi-autonomous components of the system are modeled as spatially contiguous, possibly overlapping, functionally homogeneous domains. To the best of our knowledge, δ-MAPS is the first m…

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages