clarkkitchen22's picture
Initial GeoBot Forecasting Framework commit
484e3bc

GeoBotv1 Examples

This directory contains example scripts demonstrating the capabilities of GeoBotv1.

Examples Overview

01_basic_usage.py

Basic introduction to GeoBotv1 core components:

  • Creating geopolitical scenarios
  • Building causal graphs
  • Running Monte Carlo simulations
  • Bayesian belief updating
  • Uncertainty quantification

Run it:

python 01_basic_usage.py

02_data_ingestion.py

Demonstrates data ingestion capabilities:

  • PDF document processing
  • Web scraping and article extraction
  • News aggregation from multiple sources
  • Intelligence extraction from documents
  • Entity and keyword extraction

Run it:

python 02_data_ingestion.py

Note: For full functionality, install optional dependencies:

pip install pypdf pdfplumber beautifulsoup4 newspaper3k trafilatura feedparser

03_intervention_simulation.py

Advanced intervention and counterfactual analysis:

  • Policy intervention simulation
  • Comparing multiple policy options
  • Finding optimal interventions
  • Counterfactual reasoning ("what if" scenarios)
  • Causal effect estimation

Run it:

python 03_intervention_simulation.py

04_advanced_features.py

Research-grade advanced mathematical features:

  • Sequential Monte Carlo (particle filtering) for nonlinear state estimation
  • Stochastic Differential Equations (Euler-Maruyama, Milstein, Jump-Diffusion)
  • Gradient-based Optimal Transport with Kantorovich duality
  • Entropic OT with Sinkhorn algorithm
  • Structured event extraction from intelligence text
  • Event database with temporal normalization

Run it:

python 04_advanced_features.py

Note: Some features require additional dependencies:

pip install torch  # For advanced features

Additional Resources

Creating Custom Scenarios

from geobot.core.scenario import Scenario
import numpy as np

scenario = Scenario(
    name="custom_scenario",
    features={
        'tension': np.array([0.7]),
        'stability': np.array([0.4]),
    },
    probability=1.0
)

Building Causal Models

from geobot.models.causal_graph import CausalGraph

graph = CausalGraph(name="my_model")
graph.add_node('cause')
graph.add_node('effect')
graph.add_edge('cause', 'effect', strength=0.8)

Monte Carlo Simulation

from geobot.simulation.monte_carlo import MonteCarloEngine, SimulationConfig

config = SimulationConfig(n_simulations=1000, time_horizon=100)
engine = MonteCarloEngine(config)

Web Scraping

from geobot.data_ingestion.web_scraper import ArticleExtractor

extractor = ArticleExtractor()
article = extractor.extract_article('https://example.com/article')
print(article['title'])
print(article['text'])

PDF Processing

from geobot.data_ingestion.pdf_reader import PDFProcessor

processor = PDFProcessor()
result = processor.extract_intelligence('report.pdf')
print(f"Risk Level: {result['intelligence']['risk_level']}")

Need Help?

  • Check the main README.md in the project root
  • Review the module documentation in each package
  • Examine the source code for detailed implementation

Contributing

Have an interesting use case? Create a new example script and submit a PR!